lkml.org 
[lkml]   [2013]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: CONFIG_NO_HZ_FULL + CONFIG_PREEMPT_RT_FULL = nogo
    On Thu, 7 Nov 2013, Frederic Weisbecker wrote:
    > On Thu, Nov 07, 2013 at 12:21:11PM +0100, Thomas Gleixner wrote:
    > > Though it's not a full solution. It needs some thought versus the
    > > softirq code of timers. Assume we have only one timer queued 1000
    > > ticks into the future. So this change will cause the timer softirq not
    > > to be called until that timer expires and then the timer softirq is
    > > going to do 1000 loops until it catches up with jiffies. That's
    > > anything but pretty ...
    >
    > I see, so the problem is that we raise the timer softirq unconditionally
    > from the tick?

    Right.

    > Ok we definetly don't want to keep that behaviour, even if softirqs are not
    > threaded, that's an overhead. So I'm looking at that loop in __run_timers()
    > and I guess you mean the "base->timer_jiffies" incrementation?
    >
    > That's indeed not pretty. How do we handle exit from long dynticks
    > idle periods? Are we doing that loop until we catch up with the new
    > jiffies?

    Right. I realized that right after I hit send :)

    > Then it relies on the timer cascade stuff which is very obscure code to me...

    It's not that bad, really. I have an idea how to fix that. Needs some
    rewriting though.

    Thanks,

    tglx



    \
     
     \ /
      Last update: 2013-11-07 15:01    [W:3.286 / U:0.592 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site