From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tonghao Zhang Subject: [PATCH 1/2] sched: refine get base helper function Date: Wed, 28 Nov 2018 05:55:54 -0800 Message-ID: <1543413355-2874-1-git-send-email-xiangxia.m.yue@gmail.com> Cc: Tonghao Zhang To: dev@dpdk.org Return-path: Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by dpdk.org (Postfix) with ESMTP id 49CA11B450 for ; Wed, 28 Nov 2018 14:56:05 +0100 (CET) Received: by mail-pl1-f195.google.com with SMTP id b5so17433701plr.4 for ; Wed, 28 Nov 2018 05:56:05 -0800 (PST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" use switch instead of if, and it is more easy reading. Signed-off-by: Tonghao Zhang --- lib/librte_sched/rte_sched.c | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c index 587d5e6..17de6e6 100644 --- a/lib/librte_sched/rte_sched.c +++ b/lib/librte_sched/rte_sched.c @@ -385,7 +385,7 @@ enum rte_sched_port_array { uint32_t n_subports_per_port = params->n_subports_per_port; uint32_t n_pipes_per_subport = params->n_pipes_per_subport; uint32_t n_pipes_per_port = n_pipes_per_subport * n_subports_per_port; - uint32_t n_queues_per_port = RTE_SCHED_QUEUES_PER_PIPE * n_pipes_per_subport * n_subports_per_port; + uint32_t n_queues_per_port = RTE_SCHED_QUEUES_PER_PIPE * n_pipes_per_port; uint32_t size_subport = n_subports_per_port * sizeof(struct rte_sched_subport); uint32_t size_pipe = n_pipes_per_port * sizeof(struct rte_sched_pipe); @@ -407,35 +407,33 @@ enum rte_sched_port_array { size_queue_array = n_pipes_per_port * size_per_pipe_queue_array; base = 0; + switch (array) { + case e_RTE_SCHED_PORT_ARRAY_TOTAL: + base += RTE_CACHE_LINE_ROUNDUP(size_queue_array); - if (array == e_RTE_SCHED_PORT_ARRAY_SUBPORT) - return base; - base += RTE_CACHE_LINE_ROUNDUP(size_subport); + case e_RTE_SCHED_PORT_ARRAY_QUEUE_ARRAY: + base += RTE_CACHE_LINE_ROUNDUP(size_bmp_array); - if (array == e_RTE_SCHED_PORT_ARRAY_PIPE) - return base; - base += RTE_CACHE_LINE_ROUNDUP(size_pipe); + case e_RTE_SCHED_PORT_ARRAY_BMP_ARRAY: + base += RTE_CACHE_LINE_ROUNDUP(size_pipe_profiles); - if (array == e_RTE_SCHED_PORT_ARRAY_QUEUE) - return base; - base += RTE_CACHE_LINE_ROUNDUP(size_queue); + case e_RTE_SCHED_PORT_ARRAY_PIPE_PROFILES: + base += RTE_CACHE_LINE_ROUNDUP(size_queue_extra); - if (array == e_RTE_SCHED_PORT_ARRAY_QUEUE_EXTRA) - return base; - base += RTE_CACHE_LINE_ROUNDUP(size_queue_extra); + case e_RTE_SCHED_PORT_ARRAY_QUEUE_EXTRA: + base += RTE_CACHE_LINE_ROUNDUP(size_queue); - if (array == e_RTE_SCHED_PORT_ARRAY_PIPE_PROFILES) - return base; - base += RTE_CACHE_LINE_ROUNDUP(size_pipe_profiles); + case e_RTE_SCHED_PORT_ARRAY_QUEUE: + base += RTE_CACHE_LINE_ROUNDUP(size_pipe); - if (array == e_RTE_SCHED_PORT_ARRAY_BMP_ARRAY) - return base; - base += RTE_CACHE_LINE_ROUNDUP(size_bmp_array); + case e_RTE_SCHED_PORT_ARRAY_PIPE: + base += RTE_CACHE_LINE_ROUNDUP(size_subport); - if (array == e_RTE_SCHED_PORT_ARRAY_QUEUE_ARRAY) + case e_RTE_SCHED_PORT_ARRAY_SUBPORT: return base; - base += RTE_CACHE_LINE_ROUNDUP(size_queue_array); + } + RTE_LOG(DEBUG, SCHED, "Should not reach here. \n"); return base; } -- 1.8.3.1