From 785b4e3532978eb681c8a1a30c786bb17200f846 Mon Sep 17 00:00:00 2001 From: Arlin Davis Date: Thu, 22 May 2014 14:56:07 -0700 Subject: [PATCH] mpxyd: change affinity to avoid overlapping cores with 2 MICs in same socket Signed-off-by: Arlin Davis --- dapl/svc/mpxyd.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/dapl/svc/mpxyd.c b/dapl/svc/mpxyd.c index ecc9a36..bf93365 100644 --- a/dapl/svc/mpxyd.c +++ b/dapl/svc/mpxyd.c @@ -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) -- 2.41.0