On 21/01/15 13:06, Steven Rostedt wrote:
On Wed, 21 Jan 2015 10:47:37 +0000 Daniel Thompson daniel.thompson@linaro.org wrote:
With this patchset, is it possible to call sched_clock() from within NMI context? I ask because the generic sched_clock() code is not NMI safe
That's not good. Better not run function tracing, as that could trace functions in NMI context (I depend on that it does), and it uses sched_clock() as the default clock.
I think sched_clock is unsafe as in "may sometimes give the wrong value" rather than "can lock up arbitrarily". Thus the impact is unlikely to be harmful enough to want to avoid tracing altogether.
It would require special care be taken when interpreting the timestamps however. Also since update_sched_clock() is a notrace function its very hard to figure out when timestamps are at risk.
Anyhow, the fix doesn't seem that hard. I can take a look.
Daniel.