]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
mpxyd: change affinity to avoid overlapping cores with 2 MICs in same socket
authorArlin Davis <arlin.r.davis@intel.com>
Thu, 22 May 2014 21:56:07 +0000 (14:56 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Thu, 22 May 2014 21:56:07 +0000 (14:56 -0700)
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/svc/mpxyd.c

index ecc9a36b5b05facac28beac17e9d990659c934fa..bf933654d30f683c62f8b91568a9b0d600c8e482 100644 (file)
@@ -819,9 +819,9 @@ void mpxy_tx_thread(void *mic_client)
        if (mcm_affinity) {
                CPU_ZERO( &mc->op_mask );
                if (mcm_affinity_base_mic) /* static config settings */
-                       cpu_id = mcm_affinity_base_mic + mc->scif_id;
+                       cpu_id = mcm_affinity_base_mic;
                else
-                       cpu_id = mc->cpu_mask + mc->scif_id;
+                       cpu_id = mc->cpu_mask;
 
                CPU_SET(cpu_id, &mc->op_mask );
                if(sched_setaffinity( 0, sizeof(mc->op_mask), &mc->op_mask) == -1)
@@ -910,9 +910,9 @@ void mpxy_op_thread(void *mic_client)
        if (mcm_affinity) {
                CPU_ZERO( &mc->op_mask );
                if (mcm_affinity_base_mic) /* static config settings */
-                       cpu_id = mcm_affinity_base_mic + mc->scif_id + 1;
+                       cpu_id = mcm_affinity_base_mic + 1;
                else
-                       cpu_id = mc->cpu_mask + mc->scif_id + 1;
+                       cpu_id = mc->cpu_mask + 1;
 
                CPU_SET(cpu_id, &mc->op_mask );
                if(sched_setaffinity( 0, sizeof(mc->op_mask), &mc->op_mask) == -1)
@@ -992,9 +992,9 @@ void mpxy_cm_thread(void *mic_client)
        if (mcm_affinity) {
                CPU_ZERO( &mc->op_mask );
                if (mcm_affinity_base_mic) /* static config settings */
-                       cpu_id = mcm_affinity_base_mic + mc->scif_id + 2;
+                       cpu_id = mcm_affinity_base_mic + 2;
                else
-                       cpu_id = mc->cpu_mask + mc->scif_id + 2;
+                       cpu_id = mc->cpu_mask + 2;
 
                CPU_SET(cpu_id, &mc->op_mask );
                if(sched_setaffinity( 0, sizeof(mc->op_mask), &mc->op_mask) == -1)
@@ -1085,10 +1085,13 @@ void mpxy_rx_thread(void *mic_client)
 
        if (mcm_affinity) {
                CPU_ZERO( &mc->op_mask );
-               if (mcm_affinity_base_mic) /* static config settings */
-                       cpu_id = mcm_affinity_base_mic + mc->scif_id + 3;
-               else
-                       cpu_id = mc->cpu_mask + mc->scif_id + 3;
+               if (mcm_affinity_base_mic) { /* static config settings */
+                       cpu_id = mcm_affinity_base_mic + 3;
+                       mcm_affinity_base_mic = cpu_id + 1;
+               } else {
+                       cpu_id = mc->cpu_mask + 3;
+                       mc->cpu_mask = cpu_id + 1;
+               }
 
                CPU_SET(cpu_id, &mc->op_mask );
                if(sched_setaffinity( 0, sizeof(mc->op_mask), &mc->op_mask) == -1)