Messages in this thread | | | Date | Sat, 12 Jul 2014 10:11:17 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [patch 54/55] timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC[_RAW] |
| |
On Fri, 11 Jul 2014, Mathieu Desnoyers wrote:
> ----- Original Message ----- > > From: "Thomas Gleixner" <tglx@linutronix.de> > > To: "LKML" <linux-kernel@vger.kernel.org> > > Cc: "John Stultz" <john.stultz@linaro.org>, "Peter Zijlstra" <peterz@infradead.org>, "Steven Rostedt" > > <rostedt@goodmis.org>, "Mathieu Desnoyers" <mathieu.desnoyers@efficios.com> > > Sent: Friday, July 11, 2014 9:45:19 AM > > Subject: [patch 54/55] timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC[_RAW] > > On the update side: > > > > tkf->seq++; > > smp_wmb(); > > update(tkf->base[0], tk; > > missing ")"
:)
> Any reason why the updater wouldn't do: > > tkf->seq++; > smp_wmb(); > update(tkf->base[1 - (tkf->seq & 0x01)], tk); > > instead of updating both array entries each time ?
base[0]; <- Current active seq++; -> Makes base[1] the active one for readers update(base[0]);
So readers are always one update cycle behind. Probably not an issue most of the time, but think about fast wrapping clocksources and NOHZ....
Thanks,
tglx
| |