Message ID | 20190417041359.45335-1-honnappa.nagarahalli@arm.com |
---|---|
Headers | show |
Series | lib/rcu: add RCU library supporting QSBR mechanism | expand |
17/04/2019 06:13, Honnappa Nagarahalli: > Dharmik Thakkar (1): > test/rcu_qsbr: add API and functional tests > > Honnappa Nagarahalli (2): > rcu: add RCU library supporting QSBR mechanism > doc/rcu: add lib_rcu documentation Sorry I cannot merge this library in DPDK 19.05-rc2 because of several issues: - 32-bit compilation is broken because of %lx/%lu instead of PRI?64 - shared link is broken because of rcu_log_type not exported - some public symbols (variable, macros, functions) are not prefixed with rte I am not sure about getting it later in 19.05, it may be too late to merge a new library.
> > 17/04/2019 06:13, Honnappa Nagarahalli: > > Dharmik Thakkar (1): > > test/rcu_qsbr: add API and functional tests > > > > Honnappa Nagarahalli (2): > > rcu: add RCU library supporting QSBR mechanism > > doc/rcu: add lib_rcu documentation > > Sorry I cannot merge this library in DPDK 19.05-rc2 because of several issues: Apologies, we will improve our internal CI to add some of these compilations. > - 32-bit compilation is broken because of %lx/%lu instead of PRI?64 I am able to reproduce this issue. However, I am not able to run the application. Following is the log on x86, does anyone know what is happening? EAL: Detected 28 lcore(s) EAL: Detected 2 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Some devices want iova as va but pa will be used because.. EAL: vfio-noiommu mode configured EAL: few device bound to UIO EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Cannot get a virtual area: Cannot allocate memory EAL: Cannot reserve memory EAL: Cannot allocate VA space for memseg list, retrying with different page size EAL: Cannot allocate VA space on socket 0 EAL: FATAL: Cannot init memory EAL: Cannot init memory > - shared link is broken because of rcu_log_type not exported I am not sure what this is. Is this shared library compilation? Can you please let me know how to reproduce this? > - some public symbols (variable, macros, functions) are not prefixed with rte For my understanding, are you referring to the following symbols? rcu_log_type RCU_DP_LOG - This is internal to the library, will change it to __RTE_RCU_DP_LOG RCU_IS_LOCK_CNT_ZERO - Same as above __rcu_qsbr_check_selective __rcu_qsbr_check_all > > I am not sure about getting it later in 19.05, it may be too late to merge a > new library. >
> > > > 17/04/2019 06:13, Honnappa Nagarahalli: > > > Dharmik Thakkar (1): > > > test/rcu_qsbr: add API and functional tests > > > > > > Honnappa Nagarahalli (2): > > > rcu: add RCU library supporting QSBR mechanism > > > doc/rcu: add lib_rcu documentation > > > > Sorry I cannot merge this library in DPDK 19.05-rc2 because of several > issues: > Apologies, we will improve our internal CI to add some of these compilations. > > > - 32-bit compilation is broken because of %lx/%lu instead of PRI?64 > I am able to reproduce this issue. However, I am not able to run the > application. Following is the log on x86, does anyone know what is happening? > > EAL: Detected 28 lcore(s) > EAL: Detected 2 NUMA nodes > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Some devices want iova as va but pa will be used because.. EAL: vfio- > noiommu mode configured > EAL: few device bound to UIO > EAL: Probing VFIO support... > EAL: VFIO support initialized > EAL: Cannot get a virtual area: Cannot allocate memory > EAL: Cannot reserve memory > EAL: Cannot allocate VA space for memseg list, retrying with different page > size > EAL: Cannot allocate VA space on socket 0 > EAL: FATAL: Cannot init memory > EAL: Cannot init memory > This is resolved. It needed '--legacy-mem' option (thanks Maxime). > > - shared link is broken because of rcu_log_type not exported > I am not sure what this is. Is this shared library compilation? Can you please > let me know how to reproduce this? > > > - some public symbols (variable, macros, functions) are not prefixed > > with rte > For my understanding, are you referring to the following symbols? > rcu_log_type > RCU_DP_LOG - This is internal to the library, will change it to > __RTE_RCU_DP_LOG RCU_IS_LOCK_CNT_ZERO - Same as above > __rcu_qsbr_check_selective __rcu_qsbr_check_all > > > > > I am not sure about getting it later in 19.05, it may be too late to > > merge a new library. > >
On Thu, Apr 25, 2019 at 4:19 PM Honnappa Nagarahalli < Honnappa.Nagarahalli@arm.com> wrote: > > - shared link is broken because of rcu_log_type not exported > I am not sure what this is. Is this shared library compilation? Can you > please let me know how to reproduce this? > > > - some public symbols (variable, macros, functions) are not prefixed > with rte > For my understanding, are you referring to the following symbols? > rcu_log_type > RCU_DP_LOG - This is internal to the library, will change it to > __RTE_RCU_DP_LOG > RCU_IS_LOCK_CNT_ZERO - Same as above > __rcu_qsbr_check_selective > __rcu_qsbr_check_all > Afaiu, those are exposed via exported symbols, so they are part of the api. You need to prefix them. Had a quick look at the code, I suppose enabling rcu debug and shared library will trigger the link issue Thomas reported. -- David Marchand