How about replacing this part of rte_timer_subsystem_init(): mz = rte_memzone_lookup(mz_name); if (mz == NULL) { mz = rte_memzone_reserve_aligned(mz_name, mem_size, SOCKET_ID_ANY, 0, RTE_CACHE_LINE_SIZE); if (mz == NULL) { rte_mcfg_timer_unlock(); return -ENOMEM; } do_full_init = true; } else do_full_init = false;
with either a call to clib_mem_alloc_aligned() or clib_pmalloc_alloc_aligned() depending on mem_size? There appears to be one call to rte_memzone_free() which would also need an adjustment. FWIW... Dave -----Original Message----- From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Prashant Upadhyaya Sent: Monday, March 27, 2023 1:07 AM To: vpp-dev <vpp-dev@lists.fd.io> Subject: [vpp-dev] Regarding DPDK's rte_timer api's usage with VPP Hi, I am bringing in some legacy code which worked with DPDK standalone, and converting it into a VPP plugin (VPP 22.10) The legacy code uses the DPDK rte_timer api's Now as soon as my VPP plugin calls the DPDK API rte_timer_subsystem_init, I get the following error from EAL of DPDK EAL: memzone_reserve_aligned_thread_unsafe(): Number of requested memzone segments exceeds RTE_MAX_MEMZONE Of course I can uproot the entire timer implementation in legacy code and replace it with various other alternatives, but if I can get over the issue I have reported above somehow that would be great. If anybody has resolved a similar issue, please do advise. Regards -Prashant
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22771): https://lists.fd.io/g/vpp-dev/message/22771 Mute This Topic: https://lists.fd.io/mt/97876096/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-