On Wed, Jul 25 2007, Ingo Molnar wrote:
> 
> * Andrew Morton <[EMAIL PROTECTED]> wrote:
> 
> > >   * 2^30ns == 1.074s.
> > >   */
> > > -static unsigned long get_timestamp(void)
> > > +static unsigned long get_timestamp(int this_cpu)
> > >  {
> > > - return sched_clock() >> 30;  /* 2^30 ~= 10^9 */
> > > + return cpu_clock(this_cpu) >> 30;  /* 2^30 ~= 10^9 */
> > >  }
> > >  
> > >  void touch_softlockup_watchdog(void)
> > >  {
> > > - __raw_get_cpu_var(touch_timestamp) = get_timestamp();
> > > + int this_cpu = raw_smp_processor_id();
> > > +
> > > + per_cpu(touch_timestamp, this_cpu) = get_timestamp(this_cpu);
> > >  }
> > >  EXPORT_SYMBOL(touch_softlockup_watchdog);
> > >  
> > > @@ -95,7 +97,7 @@ void softlockup_tick(void)
> > >           return;
> > 
> > argh.  afacit this was never sent, except as part of some jumbopatch 
> > called "sched: implement cpu_clock(cpu) high-speed time source".
> > 
> > That patch helped.
> > 
> > It's all a plot.
> 
> sorry, it's really my fault: i decoupled it from the jumbopatch (so that 
> the new API could go in first) but forgot to re-send that crutial bit. 
> There's also the patch below (Jens Cc:-ed) to update blktrace. I guess i 
> should do a softlockup.git tree to avoid such foul-ups in the future.
> 
>       Ingo
> 
> ----------------------->
> Subject: blktrace: use cpu_clock() instead of sched_clock()
> From: Ingo Molnar <[EMAIL PROTECTED]>
> 
> use cpu_clock() instead of sched_clock(). (the latter is not a proper
> clock-source)
> 
> Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>

I tested it, seems to work fine for me.

Acked-by: Jens Axboe <[EMAIL PROTECTED]>

-- 
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to