From: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
To: Justin Piszcz <jpiszcz@lucidpixels.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
john stultz <johnstul@us.ibm.com>,
lkml <linux-kernel@vger.kernel.org>,
Arjan van de Ven <arjan@infradead.org>
Subject: RE: 2.6.31.4: WARNING: at arch/x86/kernel/hpet.c:390 hpet_next_event+0x70/0x80() [occurs when ACPI_PROCESSOR=y]
Date: Fri, 13 Nov 2009 17:12:19 -0800 [thread overview]
Message-ID: <1258161139.21141.29.camel@localhost.localdomain> (raw)
In-Reply-To: <alpine.DEB.2.00.0911131340140.5316@p34.internal.lan>
On Fri, 2009-11-13 at 10:43 -0800, Justin Piszcz wrote:
>
> On Fri, 13 Nov 2009, Pallipadi, Venkatesh wrote:
>
> > On Fri, 2009-11-13 at 01:38 -0800, Thomas Gleixner wrote:
> >> On Thu, 12 Nov 2009, Pallipadi, Venkatesh wrote:
> >>> Yes. Yes. This is a hardware errata. I have a patch to workaround this and
> >>> waiting on the errata description to get published..
> >>
> >> Can we at least have some PCI quirk or whatever until you can push the
> >> final workaround out so peoples machines do not explode ?
> >
> > Its a harmless bug functionality-wise and should not have any side
> > effect other than triggering the WARN_ON_ONCE in hpet next event code.
> >
> > Thanks,
> > Venki
> >
>
> Venki,
>
> When the following patch is applied though: (courtesy of john stultz)
>
Justin,
I am missing something in here.
Without the below patch, on 2.6.31.4 and ACPI_PROCESSOR loaded (either
as module or builtin), you may see the WARNING. But, that should not
cause any other problems with C-states, P-states, or anything else.
Is that what you are seeing?
The below patch is not a workaround for the problem. Infact it will make
situation worse with constant stream of prinkts and can reduce the
C-state residency and turbo upside.
Thanks,
Venki
> --- a/arch/x86/kernel/hpet.c
> +++ b/arch/x86/kernel/hpet.c
> @@ -376,7 +376,7 @@ static void hpet_set_mode(enum clock_event_mode mode,
> static int hpet_next_event(unsigned long delta,
> struct clock_event_device *evt, int timer)
> {
> - u32 cnt;
> + u32 cnt, check;
>
> cnt = hpet_readl(HPET_COUNTER);
> cnt += (u32) delta;
> @@ -387,7 +387,12 @@ static int hpet_next_event(unsigned long delta,
> * what we wrote hit the chip before we compare it to the
> * counter.
> */
> - WARN_ON_ONCE((u32)hpet_readl(HPET_Tn_CMP(timer)) != cnt);
> + check = (u32)hpet_readl(HPET_Tn_CMP(timer));
> + if(check != cnt) {
> + printk("hpet_next_event: hpet_writel failed: 0x%x != 0x%x\n",
> + check, cnt);
> + hpet_writel(cnt, HPET_Tn_CMP(timer));
> + }
>
> return (s32)((u32)hpet_readl(HPET_COUNTER) - cnt) >= 0 ? -ETIME : 0;
> }
>
next prev parent reply other threads:[~2009-11-14 1:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-08 14:35 2.6.31.4: WARNING: at arch/x86/kernel/hpet.c:390 hpet_next_event+0x70/0x80() Justin Piszcz
2009-11-11 19:50 ` Dave Jones
2009-11-11 21:32 ` 2.6.31.4: WARNING: at arch/x86/kernel/hpet.c:390 hpet_next_event+0x70/0x80() [occurs when ACPI_PROCESSOR=y] Justin Piszcz
2009-11-12 16:26 ` Justin Piszcz
2009-11-12 16:33 ` Justin Piszcz
2009-11-12 23:39 ` Justin Piszcz
[not found] ` <1f1b08da0911121513l32d47b4x8b9722ad3440ceb6@mail.gmail.com>
[not found] ` <alpine.DEB.2.00.0911121824290.2852@p34.internal.lan>
2009-11-12 23:40 ` john stultz
2009-11-12 23:45 ` Justin Piszcz
2009-11-12 23:49 ` john stultz
2009-11-12 23:53 ` Justin Piszcz
2009-11-12 23:53 ` Thomas Gleixner
2009-11-12 23:56 ` Justin Piszcz
2009-11-13 0:18 ` Pallipadi, Venkatesh
2009-11-13 0:20 ` Justin Piszcz
2009-11-13 0:30 ` Pallipadi, Venkatesh
2009-11-13 9:38 ` Thomas Gleixner
2009-11-13 18:32 ` Pallipadi, Venkatesh
2009-11-13 18:43 ` Justin Piszcz
2009-11-14 1:12 ` Pallipadi, Venkatesh [this message]
2009-11-14 8:48 ` Justin Piszcz
2009-11-17 11:45 ` Justin Piszcz
2009-11-17 21:37 ` Pallipadi, Venkatesh
2009-11-17 22:53 ` Justin Piszcz
2009-11-19 22:08 ` Pallipadi, Venkatesh
2009-11-19 23:12 ` Justin Piszcz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1258161139.21141.29.camel@localhost.localdomain \
--to=venkatesh.pallipadi@intel.com \
--cc=arjan@infradead.org \
--cc=johnstul@us.ibm.com \
--cc=jpiszcz@lucidpixels.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®