lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 29 Mar 2016 18:47:22 -0400
From:	Steven Rostedt <rostedt@...dmis.org>
To:	Juri Lelli <juri.lelli@....com>
Cc:	Wanpeng Li <wanpeng.li@...ux.intel.com>,
	Ingo Molnar <mingo@...hat.com>,
	Peter Zijlstra <peterz@...radead.org>,
	Kirill V Tkhai <tkhai@...dex.ru>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3] sched/deadline: do not try to push tasks if pinned
 task switches to dl

On Wed, 22 Oct 2014 10:33:05 +0100
Juri Lelli <juri.lelli@....com> wrote:

> On 22/10/14 01:36, Wanpeng Li wrote:
> > As Kirill mentioned(https://lkml.org/lkml/2013/1/29/118):
> > | If rq has already had 2 or more pushable tasks and we try to add a 
> > | pinned task then call of push_rt_task will just waste a time.
> > 
> > Just switched pinned task is not able to be pushed. If the rq has had
> > several dl tasks before they have already been considered as candidates
> > to be pushed (or pulled). This patch implements the same behavior as rt 
> > class which introduced by commit 10447917551e ("sched/rt: Do not try to 
> > push tasks if pinned task switches to RT"). 
> > 
> > Signed-off-by: Wanpeng Li <wanpeng.li@...ux.intel.com>
> > ---
> > v2 -> v3:
> >  * cleanup patch description
> >  * align && to p->nr_cpus_allowed
> > v1 -> v2:
> >  * use 12 or more chars for the git commit ID
> > 
> >  kernel/sched/deadline.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> > index abfaf3d..bd5e479 100644
> > --- a/kernel/sched/deadline.c
> > +++ b/kernel/sched/deadline.c
> > @@ -1603,7 +1603,8 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
> >  
> >  	if (task_on_rq_queued(p) && rq->curr != p) {
> >  #ifdef CONFIG_SMP
> > -		if (rq->dl.overloaded && push_dl_task(rq) && rq != task_rq(p))
> > +		if (p->nr_cpus_allowed > 1 && rq->dl.overloaded &&
> > +			push_dl_task(rq) && rq != task_rq(p))
> >  			/* Only reschedule if pushing failed */
> >  			check_resched = 0;
> >  #endif /* CONFIG_SMP */
> >   
> 

I'm looking at some old changes for sched-deadline, and I stumbled
across this. As I'm working on sched deadline tests, I've discovered
that they can't have cpu affinity. They are limited to their sched
domains. That is, sched deadline tasks have whatever affinity that the
domain they happen to be in has.

Is there a condition where rq != task_rq(p) and p->nr_cpus_allowed > 1
isn't true?

Now maybe this will help with -rt when a task hits a migrate disable?

Just asking.

-- Steve

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ