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: [email protected] <[email protected]> On Behalf Of Prashant Upadhyaya
Sent: Monday, March 27, 2023 1:07 AM
To: vpp-dev <[email protected]>
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: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-