On Mon, Aug 07, 2006 at 02:48:55PM +0200, Vojtech Pavlik wrote:
> On Mon, Aug 07, 2006 at 02:28:45PM +0200, Andi Kleen wrote:
> > On Mon, Aug 07, 2006 at 01:09:31PM +0200, Vojtech Pavlik wrote:
> > > On Mon, Aug 07, 2006 at 10:48:50AM +0200, Andi Kleen wrote:
> > > > On Sun, Aug 06, 2006 at 10:43:44PM -0400, Dmitry Torokhov wrote:
> > > > > On Saturday 05 August 2006 23:16, Andi Kleen wrote:
> > > > > > This whole thing is broken, e.g. on a preemptive kernel when the
> > > > > > code can switch CPUs
> > > > > >
> > > > >
> > > > > Would not preempt_disable fix that?
> > > >
> > > > Partially, but you still have other problems. Please just get rid
> > > > of it. Why do we have timer code in the kernel if you then chose
> > > > not to use it?
> > >
> > > The problem is that gettimeofday() is not always fast.
> >
> > When it is not fast that means it is not reliable and then you're
> > also not well off using it anyways.
>
> I assume you wanted to say "When gettimeofday() is slow, it means TSC is
> not reliable", which I agree with.
>
> But I need, in the driver, in the no-TSC case use i/o counting, not a
> slow but reliable method. And I can't say, from outside the timing
> subsystem, whether gettimeofday() is fast or slow.
Hmm if that is the only obstacle I can export a "slow gettimeofday" flag.
However it would be some work to implement it for all architectures.