Messages in this thread | | | From | Frans Pop <> | Subject | Re: Bootup time regression from 2.6.27 to 2.6.28-rc3+ | Date | Fri, 14 Nov 2008 02:45:38 +0100 |
| |
Hi Thomas/Arjan,
On Sunday 09 November 2008, Thomas Gleixner wrote: > I worked all week after returning from travelling to get down to the > root cause of this. We had several issues: > > 1) peek_ahead confused the hell out of the nohz code when it expired > timers when the timer interrupt was already pending > > 2) the changes I did to prevent the stale jiffies in the nohz case > turned out to be incomplete and wrong versus the broadcast of timers > in deeper C-States > > 3) the consolidation of the nohz idle checks called the nohz jiffies > update code before calling __irq_enter() which caused useless wakeups > of ksoftirqd > > 4) A long standing - but until now papered over and therefor unnoticed > - problem of spurious wakeups from deep c-states: > > If one core gets an interrupt the other core(s) wake up as > well. The stale jiffies fix and the peek_ahead changes made this > more visible and is a major part of the reported nohz (more wakeups, > more power consumption) regression. > > This was there forever, but nobody noticed as it was not accounted > for. > > Find below the lineup of the timers-fixes-for-linus branch of the tip > tree (the same as Arjan posted minus the irq fixes)
Could either of you maybe give a status update on this patch set and the remaining issues with it that were reported (especially the high C0 reported by powertop)?
TIA, FJP
| |