Re: Too many poll_idle cpu calls in kernel 3.2 rc-series

From: Mike Galbraith
Date: Sat Dec 10 2011 - 02:33:38 EST


On Tue, 2011-11-29 at 16:37 +0530, Deepthi Dharwar wrote:
> On 11/29/2011 02:14 AM, Andi Kleen wrote:
>
> > On Mon, Nov 28, 2011 at 09:31:13PM +0100, Nicolas Kalkhof wrote:
> >> Andi,
> >>
> >> correct. The issue was introduced somewhere between 3.1 final and 3.2-rc1. I've tried to track down the bad commit but so far I haven't been successfull. The only workaround I found is to set the idle boot parameter to mwait and to disable CONFIG_INTEL_IDLE. Somehow the kernel seems to set idle to poll by default - no idea why :-(. I wonder if other mobile sandy bridge cpus are affected as well.
> >
> > There are only a few changesets affecting drivers/idle
> >
> > Can you try to git revert
> >
> > 46bcfad7a819bd17ac4e831b04405152d59784ab
> > 4202735e8ab6ecfb0381631a0d0b58fefe0bd4e2
> > e978aa7d7d57d04eb5f88a7507c4fb98577def77
> >
> > ?
> >
> > -Andi
>
>
> Hi,
>
> I am guessing that for workaround just setting the idle boot parameter
> to mwait should work. Have u tested this without disabling
> CONFIG_INTEL_IDLE ?
>
> Also one thing to note from your logs is, cpu is not entering any of the
> other C states except for POLL. Can you also check if your are enabling
> only POLL for idle. I am able to enter deeper C-states on i5-2540M with
> Intel_Idle enabled.

Seems I accidentally found a way to reproduce, boot with nohz=off.
Q6600 box can be booted nohz=off without ending up as if I'd booted
idle=poll, but boxen using intel_idle() end up using poll_idle().

-Mike

--
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/