Messages in this thread | | | Date | Thu, 17 Mar 2016 14:32:54 +0100 (CET) | From | Thomas Gleixner <> | 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@linutronix.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
| |