[dpdk-dev] [RFC 0/8] remove IPC threads
Jianfeng Tan
jianfeng.tan at intel.com
Thu Apr 19 17:03:28 CEST 2018
As discussed here, http://dpdk.org/dev/patchwork/patch/36579/, we will
try best to avoid thread creation in the library. Now we have two threads
for IPC, rte_mp_handle and rte_mp_handle_async. This patchset is to
finish the job.
This patchset:
- is rebased on commit 34345a9b69bb ("eventdev: fix build with icc").
- also needs http://dpdk.org/dev/patchwork/patch/37335/
Patch 1~2: code cleanup and bug fix. (Target for v18.05)
Patch 3~4: Remove IPC async thread. (Target for v18.08)
Patch 5~8: Remove IPC thread. (Target for v18.08)
TODO:
After this patch, IPC depends on interrupt handling thread and alarm.
It's OK for Linux-specific subsystem/feature, like memory hotplug and vfio;
while pdump and vdev auto discovery could be on FreeBSD.
So it's like that we also need to implement interrupt handling thread and
alarm for FreeBSD.
Jianfeng Tan (8):
ipc: clearn up code
ipc: fix timeout not properly handled in async
eal/linux: use glibc malloc in alarm
ipc: remove IPC thread for async request
eal/linux: use glibc malloc in interrupt handling
eal: bring forward init of interrupt handling
eal: add IPC type for interrupt thread
ipc: remove IPC thread for message read
lib/librte_eal/common/eal_common_proc.c | 289 ++++++++-------------
lib/librte_eal/common/include/rte_eal_interrupts.h | 1 +
lib/librte_eal/linuxapp/eal/eal.c | 10 +-
lib/librte_eal/linuxapp/eal/eal_alarm.c | 9 +-
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 18 +-
test/test/test_interrupts.c | 29 ++-
6 files changed, 151 insertions(+), 205 deletions(-)
--
2.7.4
More information about the dev
mailing list