From 1105600416e0560cb05120a22e0a2e7359a13665 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 10 May 2018 13:40:44 +0200 Subject: vppinfra: use count_trailing_zeros in sparse_vec_index It is much cheaper to use ctzll than to do shift,subtract and mask in likely case when we are looking for 1st set bit in the uword. Change-Id: I31954081571978878c7098bafad0c85a91755fa2 Signed-off-by: Damjan Marion --- src/plugins/dpdk/device/cli.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/plugins/dpdk/device') diff --git a/src/plugins/dpdk/device/cli.c b/src/plugins/dpdk/device/cli.c index 2eaf17e55a5..08bf0c94b53 100644 --- a/src/plugins/dpdk/device/cli.c +++ b/src/plugins/dpdk/device/cli.c @@ -1323,20 +1323,20 @@ set_dpdk_if_hqos_pktfield (vlib_main_t * vm, unformat_input_t * input, xd->hqos_wt[worker_thread_first + i].hqos_field0_slabpos = offset; xd->hqos_wt[worker_thread_first + i].hqos_field0_slabmask = mask; xd->hqos_wt[worker_thread_first + i].hqos_field0_slabshr = - __builtin_ctzll (mask); + count_trailing_zeros (mask); break; case 1: xd->hqos_wt[worker_thread_first + i].hqos_field1_slabpos = offset; xd->hqos_wt[worker_thread_first + i].hqos_field1_slabmask = mask; xd->hqos_wt[worker_thread_first + i].hqos_field1_slabshr = - __builtin_ctzll (mask); + count_trailing_zeros (mask); break; case 2: default: xd->hqos_wt[worker_thread_first + i].hqos_field2_slabpos = offset; xd->hqos_wt[worker_thread_first + i].hqos_field2_slabmask = mask; xd->hqos_wt[worker_thread_first + i].hqos_field2_slabshr = - __builtin_ctzll (mask); + count_trailing_zeros (mask); } done: -- cgit 1.2.3-korg