From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Matz Subject: Re: [PATCH v2 0/4] fix control thread affinities Date: Tue, 3 Apr 2018 15:13:50 +0200 Message-ID: <20180403131350.dtadbnemfoynjchf@platinum> References: <20180403130439.11151-1-olivier.matz@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Anatoly Burakov To: dev@dpdk.org Return-path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 153E64F94 for ; Tue, 3 Apr 2018 15:13:56 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20180403130439.11151-1-olivier.matz@6wind.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Sorry, I forgot the --in-reply-to. This patchset is the second version of this one: http://dpdk.org/ml/archives/dev/2018-February/091576.html On Tue, Apr 03, 2018 at 03:04:35PM +0200, Olivier Matz wrote: > Some parts of dpdk use their own management threads. Most of the time, > the affinity of the thread is not properly set: it should not be scheduled > on the dataplane cores, because interrupting them can cause packet losses. > > This patchset introduces a new wrapper for thread creation that does > the job automatically, avoiding code duplication. > > v2: > * set affinity to master core if no core is off, as suggested by > Anatoly > > Olivier Matz (4): > eal: use sizeof to avoid a double use of a define > eal: new function to create control threads > eal: set name when creating a control thread > eal: set affinity for control threads > > drivers/net/kni/Makefile | 1 + > drivers/net/kni/rte_eth_kni.c | 3 +- > lib/librte_eal/bsdapp/eal/eal.c | 2 +- > lib/librte_eal/bsdapp/eal/eal_thread.c | 2 +- > lib/librte_eal/common/eal_common_thread.c | 72 ++++++++++++++++++++++++++ > lib/librte_eal/common/include/rte_lcore.h | 26 ++++++++++ > lib/librte_eal/linuxapp/eal/eal.c | 4 +- > lib/librte_eal/linuxapp/eal/eal_interrupts.c | 17 ++---- > lib/librte_eal/linuxapp/eal/eal_thread.c | 2 +- > lib/librte_eal/linuxapp/eal/eal_timer.c | 12 +---- > lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c | 10 +--- > lib/librte_eal/rte_eal_version.map | 1 + > lib/librte_pdump/Makefile | 1 + > lib/librte_pdump/rte_pdump.c | 13 ++--- > lib/librte_vhost/socket.c | 7 +-- > 15 files changed, 125 insertions(+), 48 deletions(-) > > -- > 2.11.0 >