From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jianfeng Tan Subject: [RFC 0/8] remove IPC threads Date: Thu, 19 Apr 2018 15:03:28 +0000 Message-ID: <1524150216-3407-1-git-send-email-jianfeng.tan@intel.com> Cc: thomas@monjalon.net, anatoly.burakov@intel.com, Jianfeng Tan To: dev@dpdk.org Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 427FF7D02 for ; Thu, 19 Apr 2018 17:01:36 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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