Messages in this thread | | | Date | Fri, 28 Jun 2013 11:09:39 +0200 | From | Peter Zijlstra <> | Subject | Re: deadlock in scheduler enabling HRTICK feature |
| |
On Thu, Jun 27, 2013 at 04:28:57PM -0600, David Ahern wrote: > On 6/27/13 4:43 AM, Peter Zijlstra wrote: > >On Wed, Jun 26, 2013 at 10:46:33AM -0600, David Ahern wrote: > >>On 6/26/13 1:05 AM, Peter Zijlstra wrote: > >>>>What is the expectation that the feature provides? not a whole lot of > >>>>documentation on it. I walked down the path wondering if it solved an odd > >>>>problem we are seeing with the CFS in 2.6.27 kernel. > >>> > >>>Its supposed to use hrtimers for slice expiry instead of the regular tick. > >> > >>So theoretically CPU bound tasks would get preempted sooner? That was my > >>guess/hope anyways. > > > >Doth the below worketh? > > It doth. > > Usually make -j 8 for a kernel build in a VM would lock it up pretty > quickly. With the patch I was able to run full builds multiple times.
Good!
> As for the solution you are avoiding the nesting by not waking up the > softirq daemon.
Yah! :-) Obviously doing a wakeup while holding scheduler locks isn't going to work out well. And the only reason we really need that pesky softirq nonsense is when we accidentally schedule a timer that's already expired; in that case we'll run it from sirq context.
We don't care about missing events like that; there's always the actual tick for backup.
I suppose I'd better go write a Changelog and properly submit the patch :-)
| |