On 02/04, Steven Rostedt wrote:
On Wed, 4 Feb 2015 17:23:51 -0800 Stephen Boyd sboyd@codeaurora.org wrote:
On 01/30, Daniel Thompson wrote:
@@ -98,26 +98,50 @@ unsigned long long notrace sched_clock(void) } /*
- Updating the data required to read the clock.
- sched_clock will never observe mis-matched data even if called from
- an NMI. We do this by maintaining an odd/even copy of the data and
- steering sched_clock to one or the other using a sequence counter.
- In order to preserve the data cache profile of sched_clock as much
- as possible the system reverts back to the even copy when the update
- completes; the odd copy is used *only* during an update.
- */
+static void update_clock_read_data(struct clock_read_data *rd)
notrace?
Why? Isn't this for update, not for readers?
Good point. I was basing it on the fact that the caller, update_sched_clock() is marked notrace. It looks like it's always been that way (see commit 2f0778afac79 "ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime" from 2011-12-15 where it was introduced). So the correct thing would be to drop notrace from update_sched_clock().