From: Dave Hansen <dave@sr71.net>
To: John Stultz <john.stultz@linaro.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
"Yu, Fenghua" <fenghua.yu@intel.com>,
the arch/x86 maintainers <x86@kernel.org>
Subject: Re: hangs in verify_pmtmr_rate()
Date: Wed, 03 Jun 2015 14:11:40 -0700 [thread overview]
Message-ID: <556F6D8C.3040204@sr71.net> (raw)
In-Reply-To: <CALAqxLUzyh8SUaRZ-WtqY5WHY5PLubU1gr_3-GB06MR0pEr15g@mail.gmail.com>
On 06/03/2015 01:46 PM, John Stultz wrote:
> On Wed, Jun 3, 2015 at 12:55 PM, Dave Hansen <dave@sr71.net> wrote:
>> I'm seeing boot hangs when trying to boot a 32-bit 4.1.0-rc5 kernel on
>> some 64-bit CPUs (I'm not sure if it is a regression). The NMI watchdog
>> shows init_acpi_pm_clocksource() as the last thing in the backtrace,
>> specifically verify_pmtmr_rate()'s I/O instructions. It appears to be
>> mach_countup()'s while loop that gets stuck.
>>
>> Booting with "pmtmr=0" works around this for me, as would unsetting
>> CONFIG_X86_PM_TIMER I'd imagine.
>>
>> The hardware I'm doing this on is a bit wonky and I think the hpet is
>> broken on it.
>>
>> Does this look like *really* broken hardware, or something that we
>> should be detecting and able to recover from?
>
> Hrm. Does this machine have a working PIT?
It _should_. :)
> Does pit_calibrate_tsc() end up being used on this box to calibrate
> the TSC (its similar logic, so it should get stuck in the same way),
> or does it use a different method for tsc calibration?
I end up seeing:
> tsc: Fast TSC calibration failed
> tsc: Using PIT calibration value
> tsc: Detected 911.616 MHz processor
> Calibrating delay loop (skipped) , value calculated using timer frequency.. 1823.23 BogoMIPS... (lpj=3646464)
Which makes it look like native_calibrate_tsc() managed to successfully
do a pit_calibrate_tsc() and got to the code below (otherwise we would
have hit the (tsc_pit_min == ULONG_MAX) case).
> /* We don't have an alternative source, use the PIT calibration value */
> if (!hpet && !ref1 && !ref2) {
> pr_info("Using PIT calibration value\n");
> return tsc_pit_min;
> }
I later see:
> timekeeping watchdog: Marking clocksource 'tsc' as unstable, because skew is too large:
> 'refined-jiffies' wd_now: ffeef86 wd_last: fffeef09 mask: ffffffff
next prev parent reply other threads:[~2015-06-03 21:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-03 19:55 hangs in verify_pmtmr_rate() Dave Hansen
2015-06-03 20:46 ` John Stultz
2015-06-03 21:11 ` Dave Hansen [this message]
2015-06-03 21:48 ` Yu, Fenghua
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=556F6D8C.3040204@sr71.net \
--to=dave@sr71.net \
--cc=fenghua.yu@intel.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.