[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