From: john stultz <johnstul@us.ibm.com>
To: "J.E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: Voyager subarchitecture for 2.5.46
Date: 06 Nov 2002 11:30:38 -0800 [thread overview]
Message-ID: <1036611039.6098.126.camel@cog> (raw)
In-Reply-To: <200211061503.gA6F3DW02053@localhost.localdomain>
On Wed, 2002-11-06 at 07:03, J.E.J. Bottomley wrote:
> There are certain architectures (voyager is the only one currently supported,
> but I suspect the Numa machines will have this too) where the TSC cannot be
> used for cross CPU timings because the processors are driven by separate
> clocks and may even have different clock speeds.
Yes, I'll confirm your suspicions for some NUMA boxes ;) The timer_opts
structure was largely created to make it easier to remedy this
situation, allowing alternate time sources to be easily added.
> What I need is an option simply not to compile in the TSC code and use the PIT
> instead. What I'm trying to do with the TSC and PIT options is give three
> choices:
>
> 1. Don't use TSC (don't compile TSC code): X86_TSC=n, X86_PIT=y
>
> 2. May use TSC but check first (blacklist, notsc kernel option). X86_TSC=y,
> X86_PIT=y
>
> 3. TSC is always OK so don't need PIT. X86_TSC=y, X86_PIT=n
Almost all systems are going to want #3. For those that need an
alternate time source (NUMAQ, Voyager, x440, etc) do we really need the
PIT only option(#1)? It can easily be dynamically detected in #2, and
the resulting kernel will run correctly on more machines which makes for
one less special kernel distros have to create/manage.
> Theres also another problem in that the timer_init is called too early in the
> boot sequence to get a message out to the user, so the panic in timers.c about
> not finding a suitable timer will never be seen (the system will just lock up
> on boot).
>
> Do we have an option for a deferred panic that will trip just after we init
> the console and clean out the printk buffer?
Yea, I'm actually working on exactly what Alan suggested (timer_none),
to solve this. Thanks for bringing it up though, I occasionally need a
kick in the pants for motivation :)
> > Then make the arch/i386/timers/Makefile change to be something like:
> >
> > obj-y := timer.o timer_tsc.o timer_pit.o
> > obj-$(CONFIG_X86_TSC) -= timer_pit.o #does this(-=) work?
> > obj-$(CONFIG_X86_CYCYLONE) += timer_cyclone.o
>
> Even if it works, the config option style is confusing. It's easier just to
> have a positive option (CONFIG_X86_PIT) for this.
I realize that the negative-option that _X86_TSC has become is a bit
confusing, but it is an optimization option, not a feature option. I've
been thinking of something similar to _X86_PIT, but I want to avoid the
PIT only case that you had in your patch, and try to come up with
something that isn't more confusing then what we started with.
thanks
-john
prev parent reply other threads:[~2002-11-06 19:25 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-05 20:45 Voyager subarchitecture for 2.5.46 J.E.J. Bottomley
2002-11-06 2:31 ` john stultz
2002-11-06 13:43 ` Alan Cox
2002-11-06 21:35 ` john stultz
2002-11-06 15:03 ` J.E.J. Bottomley
2002-11-06 15:38 ` Alan Cox
2002-11-06 16:09 ` Christer Weinigel
2002-11-06 15:45 ` Linus Torvalds
2002-11-06 16:19 ` Alan Cox
2002-11-06 16:12 ` Linus Torvalds
2002-11-06 16:45 ` Alan Cox
2002-11-10 16:30 ` Pavel Machek
2002-11-10 18:59 ` Linus Torvalds
2002-11-10 19:18 ` Pavel Machek
2002-11-10 19:31 ` Linus Torvalds
2002-11-10 19:42 ` Pavel Machek
2002-11-10 19:48 ` Vojtech Pavlik
2002-11-10 20:02 ` Sean Neakums
2002-11-10 20:16 ` Lars Marowsky-Bree
2002-11-10 22:11 ` Alan Cox
2002-11-10 19:46 ` Vojtech Pavlik
2002-11-11 20:40 ` john stultz
2002-11-11 20:57 ` J.E.J. Bottomley
2002-11-11 21:36 ` William Lee Irwin III
2002-11-11 21:58 ` john stultz
2002-11-11 22:49 ` J.E.J. Bottomley
2002-11-11 23:12 ` john stultz
2002-11-12 12:16 ` Pavel Machek
2002-11-11 22:08 ` Vojtech Pavlik
2002-11-06 20:07 ` john stultz
2002-11-06 22:36 ` H. Peter Anvin
2002-11-06 19:30 ` john stultz [this message]
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=1036611039.6098.126.camel@cog \
--to=johnstul@us.ibm.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/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