FH 7.2 change request
After some testing with 2024.w04, LITEON, Quectel RM500Q, Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-1050-realtime x86_64) on Xeon(R) Gold 6442Y, I would suggest to consider the following changes:
- Add configurable
system_core
- for systems where CPU 0 cannot be reasonable isolated from kernel threads. (DPDK usessystem_core
for its control threads:rte_mp_handle, eal-intr-thread,iavf-event-thread
). - Add an explicit affinity assignment of
ru_thread
after initialization of XRAN library.
+
+ cpu = sched_getcpu();
+
+ if (cpu != ru->ru_thread_core)
+ {
+ cpu_set_t cpuset;
+ CPU_ZERO(&cpuset);
+ CPU_SET(ru->ru_thread_core, &cpuset);
+ //printf("AAA2 cpu %d instead of %d\n", cpu, ru->ru_thread_core);
+ int ret = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
+ AssertFatal(ret == 0, "Error in pthread_getaffinity_np(): ret: %d, errno: %d", ret, errno);
+ }
+
if (setup_RU_buffers(ru)!=0) {
printf("Exiting, cannot initialize RU Buffers\n");
exit(-1);
- XRAN library: initialize EAL without telemetry to skip creation of another or two (DPDK 21.11.5) DPDK control thread(s)
adva@tfsrv01:~/phy/fhi_lib/lib$ git diff ethernet/ethdi.c
diff --git a/fhi_lib/lib/ethernet/ethdi.c b/fhi_lib/lib/ethernet/ethdi.c
index b6ba257..b53325f 100644
--- a/fhi_lib/lib/ethernet/ethdi.c
+++ b/fhi_lib/lib/ethernet/ethdi.c
@@ -335,6 +335,7 @@ xran_ethdi_init_dpdk_io(char *name, const struct xran_io_cfg *io_cfg,
uint16_t count;
char *argv[] = { name, core_mask, "-n2", iova_mode, socket_mem, socket_limit, "--proc-type=auto",
+ "--no-telemetry",
"--file-prefix", name, "-a0000:00:00.0", bbdev_wdev, bbdev_vdev};