[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48306E8D.5050109@firstfloor.org>
Date: Sun, 18 May 2008 19:59:41 +0200
From: Andi Kleen <andi@...stfloor.org>
To: Vegard Nossum <vegard.nossum@...il.com>
CC: "Rafael J. Wysocki" <rjw@...k.pl>,
Andreas Herrmann <andreas.herrmann3@....com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andi Kleen <ak@...e.de>,
Arjan van de Ven <arjan@...radead.org>,
Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [Bug #10710] [BISECTED] Lots of "rescheduling IPIs" in powertop
Vegard Nossum wrote:
> On Sun, May 18, 2008 at 1:13 PM, Rafael J. Wysocki <rjw@...k.pl> wrote:
>> This message has been generated automatically as a part of a report
>> of recent regressions.
>>
>> The following bug entry is on the current list of known regressions
>> from 2.6.25. Please verify if it still should be listed.
>>
>>
>> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=10710
>> Subject : [BISECTED] Lots of "rescheduling IPIs" in powertop
>> Submitter : Vegard Nossum <vegard.nossum@...il.com>
>> Date : 2008-05-13 20:42 (6 days old)
>> References : http://marc.info/?l=linux-kernel&m=121071176205864&w=4
>> Handled-By : Andi Kleen <andi@...stfloor.org>
>> Arjan van de Ven <arjan@...radead.org>
>> Ingo Molnar <mingo@...e.hu>
>> Patch : http://marc.info/?l=linux-kernel&m=121074826823352&w=4
>>
>
> Ingo Molnar provided the patch that solved the problem (the referenced
> link) but he wanted to wait for Andreas Herrmann to provide an
> additional patch that would solve some implication on AMD CPUs. So
> this is in theory fixed, but the fix has not yet been applied anywhere
> as far as I know.
There's a CPUID way to distingush the cases I found out now (with help
from Venki, thanks) so it would be possible to solve it properly, but
once even a bad Ingo patch is in it's nearly impossible to replace it
with something better so I bail out at this point.
[In case someone is interested it's CPUID 5 ECX bit 0 which enumerates
if the MWAIT enumeration is there. So the correct mwait_usable() that
would have avoided your problem would be something like (untested):
return c->cpuid_level >= 5 &&
((cpuid_ecx(5) & 1) == 0 || (cpuid_edx(5) >> 4) & 0xf) > 0);
]
-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists