From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Matz Subject: Re: [PATCH 4/4] eal: set affinity for control threads Date: Fri, 30 Mar 2018 09:30:01 +0200 Message-ID: <20180330073001.c73c42dvtqq5lc6g@platinum> References: <20171208102657.2699-1-olivier.matz@6wind.com> <20180227144630.29613-1-olivier.matz@6wind.com> <20180227144630.29613-5-olivier.matz@6wind.com> <73aaaffb-053d-b8d1-623b-a1dfdc67adc2@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: "Burakov, Anatoly" Return-path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id CCE6B2BB8 for ; Fri, 30 Mar 2018 09:30:05 +0200 (CEST) Content-Disposition: inline In-Reply-To: <73aaaffb-053d-b8d1-623b-a1dfdc67adc2@intel.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" On Thu, Mar 29, 2018 at 09:04:52AM +0100, Burakov, Anatoly wrote: > On 27-Feb-18 2:46 PM, Olivier Matz wrote: > > The management threads must not bother the dataplane or service cores. > > Set the affinity of these threads accordingly. > > > > Signed-off-by: Olivier Matz > > --- > > <...> > > > + set_affinity = 0; > > + CPU_ZERO(&cpuset); > > + for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) { > > + if (eal_cpu_detected(lcore_id) && > > + rte_lcore_has_role(lcore_id, ROLE_OFF)) { > > + CPU_SET(lcore_id, &cpuset); > > + set_affinity = 1; > > + } > > + } > > + if (set_affinity) { > > + ret = pthread_setaffinity_np(*thread, sizeof(cpuset), &cpuset); > > + if (ret < 0) > > + goto fail; > > + } > > Hi Olivier, > > Please correct me if i'm wrong here, but if all detected cores are busy > doing something (such as would be the case if DPDK is run without a coremask > specified), affinity is not set? Maybe set it to master lcore instead > (perhaps unconditionally - we usually recommend not using master lcore for > anything important - perhaps setting it to master core always would be > better, instead of trying to find unused lcores)? Good point and good idea, I will update the patchset. Thanks, Olivier