Re: [PATCH] x86: Export tsc related information in sysfs

From: Pavel Machek
Date: Fri Jun 04 2010 - 10:25:57 EST


Hi!

> > Yes, understood. But the kernel doesn't expose a "gettimeofday
> > performance sucks" flag either. If it did (or in the case of
> > the patch, if tsc_reliable is zero) the application could at least
> > choose to turn off the 10000-100000 timestamps/second and log
> > a message saying "you are running on old hardware so you get
> > fewer features".
>
> I don't think anyone would object to exporting such a flag if
> it's cleanly designed.
>
> Getting the semantics right for that might be somewhat tricky
> though. How is "slow" defined?

Well... if you want to know how fast gettimeofday is, perhaps doing

gettimeofday(); gettimeofday();

is good enough?

If not, perhaps you can export 'how many clocks is gettimeofday
expected to take' variable somewhere, but...

Pavel


> > A CPU-hotplugable system is a good example of a case where
> > the kernel should expose that tsc_reliable is 0. (I've heard
>
> That would mean that a large class of systems which
> are always hotplug capable (even if it's not used)
> would never get fast TSC time.
>
> Wasn't the goal here to be faster?
>
> > anecdotally that CPU hotplug into a QPI or Hypertransport system
> > will have some other interesting challenges, so may require some
> > special kernel parameters anyway.) Even if tsc_reliable were
> > only enabled if a "no-cpu_hotplug" kernel parameter is set,
> > that is still useful. And with cores-per-socket (and even
> > nodes-per-socket) going up seemingly every day, multi-socket
> > systems will likely be an ever smaller percentage of new
> > systems.
>
> Still the people running them will expect as good performance
> as possible.
>
> -Andi
>

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/