Messages in this thread | | | Date | Thu, 27 Oct 2005 15:01:20 -0700 (PDT) | From | William Weston <> | Subject | Re: 2.6.14-rc4-rt7 |
| |
On Wed, 26 Oct 2005, Steven Rostedt wrote:
> Here's a updated patch. > > Index: linux-2.6.14-rc5-rt7/kernel/time/timeofday.c > =================================================================== > --- linux-2.6.14-rc5-rt7.orig/kernel/time/timeofday.c 2005-10-26 16:57:03.000000000 -0400 > +++ linux-2.6.14-rc5-rt7/kernel/time/timeofday.c 2005-10-26 22:10:32.000000000 -0400 > @@ -232,6 +232,12 @@ > unsigned long seq; > ktime_t prev, now; > nsec_t mc, prev_st, curr_st; > + unsigned long flags; > + > + raw_local_irq_save(flags); > + prev = per_cpu(prev_mono_time, cpu); > + prev_st = per_cpu(prev_system_time, cpu); > + raw_local_irq_restore(flags); > > /* atomically read __get_monotonic_clock_ns() */ > do { > @@ -242,11 +248,7 @@ > } while (read_seqretry(&system_time_lock, seq)); > > ns_to_timespec(ts, mc); > - > now = timespec_to_ktime(*ts); > - prev = per_cpu(prev_mono_time, cpu); > - > - prev_st = per_cpu(prev_system_time, cpu); > curr_st = system_time; > > if (ktime_cmp(now, <, prev)) { > @@ -264,8 +266,12 @@ > ktime_to_timespec(ts, prev); > return; > } > + > + raw_local_irq_save(flags); > per_cpu(prev_mono_time, cpu) = now; > per_cpu(prev_system_time, cpu) = system_time; > + raw_local_irq_restore(flags); > + > put_cpu(); > }
Hi Steven. I think you fixed it!
The xeon-smt box has been up for over 30 minutes with this patch, and no warnings as of yet. Also, 'rtc_wakeup -f 1024' is reporting a max jitter of 131us (decent for this box considering its hardware induced latencies) instead of the >500us jitter seen earlier.
I'll try the patch out on the athlon box (which does mostly audio/midi) when I get home.
--ww - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |