eal: introduce integer divide through reciprocal
In some use cases of integer division, denominator remains constant and numerator varies. It is possible to optimize division for such specific scenarios. The librte_sched uses rte_reciprocal to optimize division so, moving it to eal/common would allow other libraries and applications to use it. Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
This commit is contained in:
parent
da23f0aa87
commit
0b037e8b02
@ -57,6 +57,7 @@ SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += malloc_elem.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += malloc_heap.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += rte_keepalive.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += rte_service.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += rte_reciprocal.c
|
||||
|
||||
# from arch dir
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += rte_cpuflags.c
|
||||
|
@ -16,6 +16,7 @@ INC += rte_pci_dev_feature_defs.h rte_pci_dev_features.h
|
||||
INC += rte_malloc.h rte_keepalive.h rte_time.h
|
||||
INC += rte_service.h rte_service_component.h
|
||||
INC += rte_bitmap.h rte_vfio.h rte_hypervisor.h rte_test.h
|
||||
INC += rte_reciprocal.h
|
||||
|
||||
GENERIC_INC := rte_atomic.h rte_byteorder.h rte_cycles.h rte_prefetch.h
|
||||
GENERIC_INC += rte_spinlock.h rte_memcpy.h rte_cpuflags.h rte_rwlock.h
|
||||
|
@ -64,6 +64,7 @@ SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += malloc_elem.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += malloc_heap.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += rte_keepalive.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += rte_service.c
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += rte_reciprocal.c
|
||||
|
||||
# from arch dir
|
||||
SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += rte_cpuflags.c
|
||||
|
@ -206,7 +206,7 @@ DPDK_18.02 {
|
||||
rte_hypervisor_get;
|
||||
rte_hypervisor_get_name;
|
||||
rte_vfio_clear_group;
|
||||
|
||||
rte_reciprocal_value;
|
||||
} DPDK_17.11;
|
||||
|
||||
EXPERIMENTAL {
|
||||
|
@ -26,10 +26,8 @@ LIBABIVER := 1
|
||||
# all source are stored in SRCS-y
|
||||
#
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_SCHED) += rte_sched.c rte_red.c rte_approx.c
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_SCHED) += rte_reciprocal.c
|
||||
|
||||
# install includes
|
||||
SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include := rte_sched.h rte_sched_common.h rte_red.h rte_approx.h
|
||||
SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include += rte_reciprocal.h
|
||||
|
||||
include $(RTE_SDK)/mk/rte.lib.mk
|
||||
|
@ -14,11 +14,11 @@
|
||||
#include <rte_branch_prediction.h>
|
||||
#include <rte_mbuf.h>
|
||||
#include <rte_bitmap.h>
|
||||
#include <rte_reciprocal.h>
|
||||
|
||||
#include "rte_sched.h"
|
||||
#include "rte_sched_common.h"
|
||||
#include "rte_approx.h"
|
||||
#include "rte_reciprocal.h"
|
||||
|
||||
#ifdef __INTEL_COMPILER
|
||||
#pragma warning(disable:2259) /* conversion may lose significant bits */
|
||||
|
Loading…
x
Reference in New Issue
Block a user