From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752935AbbEROat (ORCPT ); Mon, 18 May 2015 10:30:49 -0400 Received: from e23smtp01.au.ibm.com ([202.81.31.143]:56147 "EHLO e23smtp01.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752262AbbEROar (ORCPT ); Mon, 18 May 2015 10:30:47 -0400 Date: Mon, 18 May 2015 19:59:40 +0530 From: Srikar Dronamraju To: Peter Zijlstra Cc: mingo@kernel.org, riel@redhat.com, dedekind1@gmail.com, linux-kernel@vger.kernel.org, mgorman@suse.de, rostedt@goodmis.org, juri.lelli@arm.com Subject: Re: [RFC][PATCH 4/4] sched, numa: Ignore pinned tasks Message-ID: <20150518142940.GC2934@linux.vnet.ibm.com> Reply-To: Srikar Dronamraju References: <20150515154333.712161952@infradead.org> <20150515154833.726258767@infradead.org> <20150518130050.GA2934@linux.vnet.ibm.com> <1431954418.3322.3.camel@twins> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <1431954418.3322.3.camel@twins> User-Agent: Mutt/1.5.23 (2014-03-12) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15051814-1618-0000-0000-0000021BE5CF Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Peter Zijlstra [2015-05-18 15:06:58]: > On Mon, 2015-05-18 at 18:30 +0530, Srikar Dronamraju wrote: > > > > > > static void account_numa_dequeue(struct rq *rq, struct task_struct *p) > > > { > > > + if (p->nr_cpus_allowed == 1) { > > > + rq->nr_pinned_running--; > > > + WARN_ON_ONCE(p->numa_preferred_nid != -1); > > > + } > > > rq->nr_numa_running -= (p->numa_preferred_nid != -1); > > > rq->nr_preferred_running -= (p->numa_preferred_nid == task_node(p)); > > > } > > > > > > Shouldnt we reset p->numa_preferred_nid when we are setting the allowed > > cpus in set_cpus_allowed_common()? > > > > Otherwise if an process is set a preferred node based on its numa faults > > but then is pinned to a different cpu, then we can see this warning.:w! > > We should never get preferred_nid set when nr_cpus_allowed == 1, see the > hunk that changes task_tick_numa. > > So we set preferred = -1 on pinning, do not partake in numa balancing > while this is so, therefore it should still be so when we dequeue, > right? lets say if a thread were to do a sched_setaffinity on itself ; would it not call account_numa_dequeue before account_numa_enqueue? Also setting preferred = -1 in set_cpus_allowed avoids us from setting it at account_numa_enqueue. account_numa_enqueue() would probably be called more times than set_cpus_allowed. > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- Thanks and Regards Srikar Dronamraju