From 90ca48c1dc52c31be6b68179e1607636cffecea0 Mon Sep 17 00:00:00 2001 From: radonnachie Date: Sat, 4 Jun 2022 08:13:43 +0000 Subject: [PATCH] ** use __cpu_mask for cpu_mask, support > 32 cores - reviving the lost https://github.com/david-macmahon/hashpipe/pull/5 --- src/hashpipe.c | 8 +++----- src/hashpipe.h | 3 ++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/hashpipe.c b/src/hashpipe.c index 9dfeabf..0c25f7b 100644 --- a/src/hashpipe.c +++ b/src/hashpipe.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -63,15 +62,14 @@ static void set_exit_status(hashpipe_thread_args_t *args) { // Function to set cpu affinity int -set_cpu_affinity(unsigned int mask) +set_cpu_affinity(__cpu_mask mask) { int i, rv; if(mask != 0) { cpu_set_t cpuset; CPU_ZERO(&cpuset); - // Only handle 32 cores (for now) - for(i=0; i<32; i++) { + for(i=0; i<__NCPUBITS; i++) { if(mask&1) { CPU_SET(i, &cpuset); } @@ -456,7 +454,7 @@ int main(int argc, char *argv[]) case 'c': // CPU number i = strtol(optarg, NULL, 0); - args[num_threads].cpu_mask = (1< +#include #include "hashpipe_error.h" #include "hashpipe_databuf.h" @@ -139,7 +140,7 @@ struct hashpipe_thread_args { int instance_id; int input_buffer; int output_buffer; - unsigned int cpu_mask; // 0 means use inherited + __cpu_mask cpu_mask; // 0 means use inherited int finished; pthread_cond_t finished_c; pthread_mutex_t finished_m;