From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gowrishankar Subject: [PATCH 5/6] ip_pipeline: fix lcore mapping for varying SMT threads as in ppc64 Date: Thu, 7 Jul 2016 08:27:55 +0530 Message-ID: <1467860276-22848-6-git-send-email-gowrishankar.m@linux.vnet.ibm.com> References: <1467860276-22848-1-git-send-email-gowrishankar.m@linux.vnet.ibm.com> Cc: Chao Zhu , Bruce Richardson , Konstantin Ananyev , Cristian Dumitrescu , pradeep@us.ibm.com, gowrishankar To: dev@dpdk.org Return-path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by dpdk.org (Postfix) with ESMTP id 1C1AC47D0 for ; Thu, 7 Jul 2016 04:58:21 +0200 (CEST) Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u672rtug137713 for ; Wed, 6 Jul 2016 22:58:21 -0400 Received: from e23smtp09.au.ibm.com (e23smtp09.au.ibm.com [202.81.31.142]) by mx0a-001b2d01.pphosted.com with ESMTP id 2415xm8k8b-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 06 Jul 2016 22:58:20 -0400 Received: from localhost by e23smtp09.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 7 Jul 2016 12:58:18 +1000 Received: from d23relay09.au.ibm.com (d23relay09.au.ibm.com [9.185.63.181]) by d23dlp02.au.ibm.com (Postfix) with ESMTP id 94EF52BB0060 for ; Thu, 7 Jul 2016 12:58:16 +1000 (EST) Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138]) by d23relay09.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u672wGcY15597702 for ; Thu, 7 Jul 2016 12:58:16 +1000 Received: from d23av02.au.ibm.com (localhost [127.0.0.1]) by d23av02.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u672wGlb027324 for ; Thu, 7 Jul 2016 12:58:16 +1000 In-Reply-To: <1467860276-22848-1-git-send-email-gowrishankar.m@linux.vnet.ibm.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: gowrishankar offline lcore would still refer to original core id and this has to be considered while creating cpu core mask. Signed-off-by: Gowrishankar --- examples/ip_pipeline/cpu_core_map.c | 12 +----------- examples/ip_pipeline/init.c | 4 ++++ 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/examples/ip_pipeline/cpu_core_map.c b/examples/ip_pipeline/cpu_core_map.c index cb088b1..482e68e 100644 --- a/examples/ip_pipeline/cpu_core_map.c +++ b/examples/ip_pipeline/cpu_core_map.c @@ -351,9 +351,6 @@ cpu_core_map_compute_linux(struct cpu_core_map *map) int lcore_socket_id = cpu_core_map_get_socket_id_linux(lcore_id); - if (lcore_socket_id < 0) - return -1; - if (((uint32_t) lcore_socket_id) == socket_id) n_detected++; } @@ -368,18 +365,11 @@ cpu_core_map_compute_linux(struct cpu_core_map *map) cpu_core_map_get_socket_id_linux( lcore_id); - if (lcore_socket_id < 0) - return -1; - int lcore_core_id = cpu_core_map_get_core_id_linux( lcore_id); - if (lcore_core_id < 0) - return -1; - - if (((uint32_t) lcore_socket_id == socket_id) && - ((uint32_t) lcore_core_id == core_id)) { + if ((uint32_t) lcore_socket_id == socket_id) { uint32_t pos = cpu_core_map_pos(map, socket_id, core_id_contig, diff --git a/examples/ip_pipeline/init.c b/examples/ip_pipeline/init.c index 83422e8..4acd38c 100644 --- a/examples/ip_pipeline/init.c +++ b/examples/ip_pipeline/init.c @@ -59,7 +59,11 @@ static void app_init_core_map(struct app_params *app) { APP_LOG(app, HIGH, "Initializing CPU core map ..."); +#if defined(RTE_ARCH_PPC_64) + app->core_map = cpu_core_map_init(2, 5, 1, 0); +#else app->core_map = cpu_core_map_init(4, 32, 4, 0); +#endif if (app->core_map == NULL) rte_panic("Cannot create CPU core map\n"); -- 1.9.1