diff options
| author | Sebastian Andrzej Siewior <[email protected]> | 2014-08-04 13:31:08 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2014-08-13 05:51:11 +0000 |
| commit | e708d7ad80737496870fd0b6794704d063fb0cdc (patch) | |
| tree | df4cd87b90efc33e2162c790d07dc4df42faabfd /tools/perf/util/scripting-engines/trace-event-perl.c | |
| parent | perf/x86: Use extended offcore mask on Haswell (diff) | |
| download | kernel-e708d7ad80737496870fd0b6794704d063fb0cdc.tar.gz kernel-e708d7ad80737496870fd0b6794704d063fb0cdc.zip | |
perf: Do poll_wait() before checking condition in perf_poll()
One should first enqueue to the waitqueue and then check for the
condition. If the condition gets true after mutex_unlock() but before
poll_wait() then we lose it and would have wait for another wakeup.
This has been like this since v2.6.31-rc1 commit c7138f37f9 ("perf_counter:
fix perf_poll()"). Before that it was slightly worse. I guess we get enough
wakeups so if we miss here one it doesn't really matter. It is still a
bad example.
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Linus Torvalds <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-perl.c')
0 files changed, 0 insertions, 0 deletions
