From mboxrd@z Thu Jan 1 00:00:00 1970 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) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Apr 2018 08:01:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,469,1517904000"; d="scan'208";a="44534124" Received: from dpdk06.sh.intel.com ([10.67.110.196]) by orsmga003.jf.intel.com with ESMTP; 19 Apr 2018 08:01:34 -0700 From: Jianfeng Tan To: dev@dpdk.org Cc: thomas@monjalon.net, anatoly.burakov@intel.com, Jianfeng Tan Date: Thu, 19 Apr 2018 15:03:28 +0000 Message-Id: <1524150216-3407-1-git-send-email-jianfeng.tan@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-dev] [RFC 0/8] remove IPC threads X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Apr 2018 15:01:36 -0000 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