[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1603171431490.3978@nanos>
Date: Thu, 17 Mar 2016 14:32:54 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Peter Zijlstra <peterz@...radead.org>
cc: Steven Rostedt <rostedt@...dmis.org>,
Nicholas Mc Guire <der.herr@...r.at>,
Joel Fernandes <agnel.joel@...il.com>,
Greg Kroah-Hartman <greg@...ah.com>,
linux-rt-users@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
kernelnewbies <kernelnewbies@...linux.org>,
Ingo Molnar <mingo@...hat.com>
Subject: Re: RFC on fixing mutex spinning on owner
On Thu, 17 Mar 2016, Peter Zijlstra wrote:
> On Thu, Mar 17, 2016 at 08:06:29AM -0400, Steven Rostedt wrote:
> > On Thu, 17 Mar 2016 12:16:11 +0100 (CET)
> > Thomas Gleixner <tglx@...utronix.de> wrote:
> >
> > > On Thu, 17 Mar 2016, Peter Zijlstra wrote:
> > > > Also, maybe the tracer should measure the time from need_resched()
> > > > getting true until the next preemption point, instead of the entire time
> > > > preemption was disabled. Which would avoid the entire issue altogether.
> > >
> > > Well, that only gives you the information on a actual preemption, but not
> > > information about long preempt disabled regions which can cause a problem
> > > eventually.
> > >
> >
> > Actually, I was thinking the reverse. If need_resched() is called and
> > is false, then do a reset of the preemption time. But if need_resched()
> > is true, then do nothing, as that would measure the total time preempt
> > disable was set and a task could not schedule.
> >
> > Question is, should this be a hook and each location audited, or add
> > this to need_resched() itself?
>
> Is anybody calling need_resched() and then not doing anything with the
> value?
Probably not. So Stevens idea makes a lot of sense.
Thanks,
tglx
Powered by blists - more mailing lists