Re: 2.6.21-rc6-mm1

From: Adam Belay
Date: Tue Apr 10 2007 - 19:58:11 EST


On Tue, 2007-04-10 at 15:20 -0700, Venki Pallipadi wrote:
> On Mon, Apr 09, 2007 at 07:40:52PM +0200, Rafael J. Wysocki wrote:
> > On Monday, 9 April 2007 18:14, Pallipadi, Venkatesh wrote:
> > >
> > > >-----Original Message-----
> > > >From: Rafael J. Wysocki [mailto:rjw@xxxxxxx]
> > > >Sent: Monday, April 09, 2007 9:08 AM
> > > >To: Andrew Morton
> > > >Cc: linux-kernel@xxxxxxxxxxxxxxx; randy.dunlap@xxxxxxxxxx;
> > > >lenb@xxxxxxxxxx; Pallipadi, Venkatesh
> > > >Subject: Re: 2.6.21-rc6-mm1
> > > >
> > > >On Sunday, 8 April 2007 23:35, Andrew Morton wrote:
> > > >>
> > > >>
> > > >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2
> > > >.6.21-rc6/2.6.21-rc6-mm1/
> > > >>
> > > >>
> > > >> - Lots of x86 updates
> > > >>
> > > >> - This is a 25MB diff against mainline, which is rather large.
> > > >
> > > >The cpuidle thing tends to hang my x86-64 machines on boot.
> > > >
> > >
> > > Hi Rafael,
> > >
> > > At what point during boot does it hang?
> >
> > When mounting the root filesystem. It hangs completely, even the magic SysRq
> > doesn't work
> >
>
> Rafael: Below patch should fix the hang.
> Len: Please include this patch in acpi-test.
>
> Thanks,
> Venki
>
> Prevent hang on x86-64, when ACPI processor driver is added as a module on
> a system that does not support C-states.
>
> x86-64 expects all idle handlers to enable interrupts before returning from
> idle handler. This is due to enter_idle(), exit_idle() races. Make
> cpuidle_idle_call() confirm to this when there is no pm_idle_old.
>
> Also, cpuidle look at the return values of attch_driver() and set
> current_driver to NULL if attach fails on all CPUs.

My vote would be to instead remove enter_idle() and exit_idle() from
x86-64, just as was done with i386. Performance monitoring
infrastructure shouldn't be interfering with the idle interrupt
delivery, as that could only hurt performance... Besides, there's
probably a better way of doing this than an idle notifier anyway.

-Adam


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/