[dpdk-dev] [PATCH v3] eal: Clean up export of per_lcore__socket_id
> > Theres no need to export this variable. Its set and queried from an API > > call > > that doesn't exist in the hot path. Instead just export the rte_socket_id > > symbol and make the variable private to protect it from type changes. We > > should > > do this with the other exported variables too, but I think its too late in > > the > > release cycle to do that. > > > > tested using distributor_autotest (which uses rte_socket_id), successfully. > > Only tested on linux, as I don't currently have a bsd system spun up, but > > the > > changes are symmetric, and should be fine > > > > Signed-off-by: Neil Horman > > Acked-by: Cunming Liang Applied, thanks
[dpdk-dev] [PATCH v3] eal: Clean up export of per_lcore__socket_id
Hi, > -Original Message- > From: Neil Horman [mailto:nhorman at tuxdriver.com] > Sent: Friday, February 27, 2015 8:33 PM > To: dev at dpdk.org > Cc: thomas.monjalon at 6wind.com; Liang, Cunming; Neil Horman > Subject: [PATCH v3] eal: Clean up export of per_lcore__socket_id > > Theres no need to export this variable. Its set and queried from an API call > that doesn't exist in the hot path. Instead just export the rte_socket_id > symbol and make the variable private to protect it from type changes. We > should > do this with the other exported variables too, but I think its too late in the > release cycle to do that. > > tested using distributor_autotest (which uses rte_socket_id), successfully. > Only tested on linux, as I don't currently have a bsd system spun up, but the > changes are symmetric, and should be fine > > Signed-off-by: Neil Horman > > --- > Change Notes: > > v2) Moved rte_socket_id to be a common function > > v3) replaced some previously removed spaces > --- > lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 +- > lib/librte_eal/common/eal_common_thread.c | 7 +++ > lib/librte_eal/common/include/rte_lcore.h | 7 +-- > lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 +- > 4 files changed, 10 insertions(+), 8 deletions(-) > > diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map > b/lib/librte_eal/bsdapp/eal/rte_eal_version.map > index 17515a9..d83524d 100644 > --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map > +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map > @@ -10,7 +10,6 @@ DPDK_2.0 { > pci_driver_list; > per_lcore__lcore_id; > per_lcore__rte_errno; > - per_lcore__socket_id; > rte_cpu_check_supported; > rte_cpu_get_flag_enabled; > rte_cycles_vmware_tsc_map; > @@ -82,6 +81,7 @@ DPDK_2.0 { > rte_set_log_level; > rte_set_log_type; > rte_snprintf; > + rte_socket_id; > rte_strerror; > rte_strsplit; > rte_sys_gettid; > diff --git a/lib/librte_eal/common/eal_common_thread.c > b/lib/librte_eal/common/eal_common_thread.c > index f4d9892..2405e93 100644 > --- a/lib/librte_eal/common/eal_common_thread.c > +++ b/lib/librte_eal/common/eal_common_thread.c > @@ -46,6 +46,13 @@ > > #include "eal_thread.h" > > +RTE_DECLARE_PER_LCORE(unsigned , _socket_id); > + > +unsigned rte_socket_id(void) > +{ > + return RTE_PER_LCORE(_socket_id); > +} > + > int eal_cpuset_socket_id(rte_cpuset_t *cpusetp) > { > unsigned cpu = 0; > diff --git a/lib/librte_eal/common/include/rte_lcore.h > b/lib/librte_eal/common/include/rte_lcore.h > index 20a58eb..e03264e 100644 > --- a/lib/librte_eal/common/include/rte_lcore.h > +++ b/lib/librte_eal/common/include/rte_lcore.h > @@ -81,7 +81,6 @@ struct lcore_config { > extern struct lcore_config lcore_config[RTE_MAX_LCORE]; > > RTE_DECLARE_PER_LCORE(unsigned, _lcore_id); /**< Per thread "lcore id". */ > -RTE_DECLARE_PER_LCORE(unsigned, _socket_id); /**< Per thread "socket id". > */ > RTE_DECLARE_PER_LCORE(rte_cpuset_t, _cpuset); /**< Per thread "cpuset". */ > > /** > @@ -145,11 +144,7 @@ rte_lcore_index(int lcore_id) > * @return > * the ID of current lcoreid's physical socket > */ > -static inline unsigned > -rte_socket_id(void) > -{ > - return RTE_PER_LCORE(_socket_id); > -} > +unsigned rte_socket_id(void); > > /** > * Get the ID of the physical socket of the specified lcore > diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map > b/lib/librte_eal/linuxapp/eal/rte_eal_version.map > index 17515a9..d83524d 100644 > --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map > +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map > @@ -10,7 +10,6 @@ DPDK_2.0 { > pci_driver_list; > per_lcore__lcore_id; > per_lcore__rte_errno; > - per_lcore__socket_id; > rte_cpu_check_supported; > rte_cpu_get_flag_enabled; > rte_cycles_vmware_tsc_map; > @@ -82,6 +81,7 @@ DPDK_2.0 { > rte_set_log_level; > rte_set_log_type; > rte_snprintf; > + rte_socket_id; > rte_strerror; > rte_strsplit; > rte_sys_gettid; > -- > 2.1.0 Acked-by: Cunming Liang
[dpdk-dev] [PATCH v3] eal: Clean up export of per_lcore__socket_id
Theres no need to export this variable. Its set and queried from an API call that doesn't exist in the hot path. Instead just export the rte_socket_id symbol and make the variable private to protect it from type changes. We should do this with the other exported variables too, but I think its too late in the release cycle to do that. tested using distributor_autotest (which uses rte_socket_id), successfully. Only tested on linux, as I don't currently have a bsd system spun up, but the changes are symmetric, and should be fine Signed-off-by: Neil Horman --- Change Notes: v2) Moved rte_socket_id to be a common function v3) replaced some previously removed spaces --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 +- lib/librte_eal/common/eal_common_thread.c | 7 +++ lib/librte_eal/common/include/rte_lcore.h | 7 +-- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map index 17515a9..d83524d 100644 --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map @@ -10,7 +10,6 @@ DPDK_2.0 { pci_driver_list; per_lcore__lcore_id; per_lcore__rte_errno; - per_lcore__socket_id; rte_cpu_check_supported; rte_cpu_get_flag_enabled; rte_cycles_vmware_tsc_map; @@ -82,6 +81,7 @@ DPDK_2.0 { rte_set_log_level; rte_set_log_type; rte_snprintf; + rte_socket_id; rte_strerror; rte_strsplit; rte_sys_gettid; diff --git a/lib/librte_eal/common/eal_common_thread.c b/lib/librte_eal/common/eal_common_thread.c index f4d9892..2405e93 100644 --- a/lib/librte_eal/common/eal_common_thread.c +++ b/lib/librte_eal/common/eal_common_thread.c @@ -46,6 +46,13 @@ #include "eal_thread.h" +RTE_DECLARE_PER_LCORE(unsigned , _socket_id); + +unsigned rte_socket_id(void) +{ + return RTE_PER_LCORE(_socket_id); +} + int eal_cpuset_socket_id(rte_cpuset_t *cpusetp) { unsigned cpu = 0; diff --git a/lib/librte_eal/common/include/rte_lcore.h b/lib/librte_eal/common/include/rte_lcore.h index 20a58eb..e03264e 100644 --- a/lib/librte_eal/common/include/rte_lcore.h +++ b/lib/librte_eal/common/include/rte_lcore.h @@ -81,7 +81,6 @@ struct lcore_config { extern struct lcore_config lcore_config[RTE_MAX_LCORE]; RTE_DECLARE_PER_LCORE(unsigned, _lcore_id); /**< Per thread "lcore id". */ -RTE_DECLARE_PER_LCORE(unsigned, _socket_id); /**< Per thread "socket id". */ RTE_DECLARE_PER_LCORE(rte_cpuset_t, _cpuset); /**< Per thread "cpuset". */ /** @@ -145,11 +144,7 @@ rte_lcore_index(int lcore_id) * @return * the ID of current lcoreid's physical socket */ -static inline unsigned -rte_socket_id(void) -{ - return RTE_PER_LCORE(_socket_id); -} +unsigned rte_socket_id(void); /** * Get the ID of the physical socket of the specified lcore diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map index 17515a9..d83524d 100644 --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map @@ -10,7 +10,6 @@ DPDK_2.0 { pci_driver_list; per_lcore__lcore_id; per_lcore__rte_errno; - per_lcore__socket_id; rte_cpu_check_supported; rte_cpu_get_flag_enabled; rte_cycles_vmware_tsc_map; @@ -82,6 +81,7 @@ DPDK_2.0 { rte_set_log_level; rte_set_log_type; rte_snprintf; + rte_socket_id; rte_strerror; rte_strsplit; rte_sys_gettid; -- 2.1.0