mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jeff Hansen <x@jeffhansen.com>
To: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org,
	mingo@elte.hu
Date: Tue, 7 Oct 2008 16:32:53 -0600 (MDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0810071545210.21235@ren> (raw)

Linus, Ingo, All,

I've been struggling with hrtimer support in 2.6.26.5 on an older 
x86_32/i386 system, and I'm wondering if there are any easy fixes that you 
(or anyone else) would suggest.

Basically, this system does not print out the message:

"Switched to high resolution mode on CPU 0"

indicating that one-shot, hrtimers, etc. won't work, since high resolution 
mode has not been enabled.  I've verified that hrtimers started with 
hrtimer_start do not have the expected resolution further than 1/HZ.

This system does not have LAPIC, ACPI, or HPET, so really the only 
clocksources I can use are TSC and PIT.  This should be fine (in theory, 
unless it wasn't designed like that), but apparently the clocksource flags 
are not initialized in such a way that one of them ever gets marked as 
CLOCK_SOURCE_VALID_FOR_HRES.

The flow of the flags on each of these clocksources is as follows:

1) The flags on the TSC clocksource are CLOCK_SOURCE_IS_CONTINUOUS |
    CLOCK_SOURCE_MUST_VERIFY, which causes PIT to be used as the watchdog
    clocksource. (see kernel/time/clocksource.c:~171)
2) Around line 122 in kernel/time/clocksource.c, where most clocksources'
    flags usually get ORed with CLOCK_SOURCE_VALID_FOR_HRES, the PIT's do
    not because it is not CLOCK_SOURCE_IS_CONTINUOUS, and the TSC's do not
    also because the PIT (as the watchdog) is not
    CLOCK_SOURCE_IS_CONTINUOUS.

I get the same results on a new laptop booting into 32-bit Linux with hpet 
and acpi disabled.

Can you please tell me if this is supposed to work, and I just have a 
poorly configured kernel; or if TSC/PIT drivers were not designed to work 
this way in the first place.  If it wasn't designed to do this, do you 
have any tips on implementing this, since I'll be needing to do that?

-Jeff Hansen

---------------------------------------------------
"If someone's gotta do it, it might as well be me."

                 reply	other threads:[~2008-10-07 22:33 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=Pine.LNX.4.64.0810071545210.21235@ren \
    --to=x@jeffhansen.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.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 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®