Peter Zijlstra
3a80b4a353
perf_counter: Fix a race on perf_counter_ctx
...
While extending perfcounters with BTS hw-tracing, Markus
Metzger managed to trigger this warning:
[ 995.557128] WARNING: at kernel/perf_counter.c:1191 __perf_counter_task_sched_out+0x48/0x6b()
triggers because commit
9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 (perf_counter: Full
task tracing) removed clearing of tsk->perf_counter_ctxp out
from under ctx->lock which introduced a race (against
perf_lock_task_context).
Move it back and deal with the exit notification by explicitly
passing along the former task context.
Reported-by: Markus T Metzger <markus.t.metzger@intel.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1249667341.17467.5.camel@twins>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-08-09 12:54:46 +02:00
..
2009-06-18 13:03:58 -07:00
2009-07-22 23:18:46 +02:00
2009-07-12 12:22:34 -07:00
2009-07-19 17:15:54 +02:00
2009-08-09 12:53:48 +02:00
2009-06-30 18:56:00 -07:00
2009-06-08 12:31:53 -07:00
2009-06-24 00:02:38 -04:00
2009-06-24 00:00:52 -04:00
2009-06-24 00:02:38 -04:00
2009-06-24 00:02:38 -04:00
2009-06-24 00:00:52 -04:00
2009-06-24 00:02:38 -04:00
2009-04-02 19:04:54 -07:00
2009-07-29 19:10:35 -07:00
2009-04-30 19:24:24 +02:00
2009-06-22 21:18:12 -07:00
2009-06-16 19:47:31 -07:00
2009-05-11 08:15:36 +10:00
2009-03-31 23:00:27 -04:00
2009-07-08 09:31:56 -07:00
2009-04-05 11:04:19 -07:00
2009-08-07 10:39:56 -07:00
2009-07-18 14:19:53 +02:00
2009-07-11 12:40:44 +02:00
2009-06-16 19:47:48 -07:00
2009-07-10 17:32:55 +02:00
2009-06-09 22:37:52 +02:00
2009-07-29 19:10:34 -07:00
2009-06-16 19:47:47 -07:00
2009-05-15 07:56:24 -05:00
2009-07-08 09:31:56 -07:00
2009-07-30 16:44:06 -07:00
2009-07-27 12:15:46 -07:00
2009-05-12 19:59:52 +02:00
2009-05-07 11:17:34 +02:00
2009-06-28 11:05:04 -07:00
2009-07-27 12:15:45 -07:00
2009-06-11 17:55:42 +02:00
2009-04-02 19:04:53 -07:00
2009-06-18 13:03:56 -07:00
2009-07-24 15:30:45 -04:00
2009-06-12 21:46:58 +09:30
2009-08-09 12:54:46 +02:00
2009-06-18 13:03:55 -07:00
2009-07-09 17:07:02 +01:00
2009-04-30 08:08:31 +02:00
2009-08-04 10:16:41 +02:00
2009-06-16 11:02:28 -07:00
2009-07-29 19:10:36 -07:00
2009-07-06 13:57:04 -07:00
2009-04-03 12:23:02 +02:00
2009-04-15 13:55:14 -07:00
2009-05-05 20:28:05 +02:00
2009-03-30 22:05:16 +10:30
2009-04-14 11:33:43 +02:00
2009-06-24 15:02:48 +02:00
2009-04-03 12:23:03 +02:00
2009-04-05 11:04:19 -07:00
2009-06-18 13:03:48 -07:00
2009-06-30 18:56:00 -07:00
2009-04-06 11:14:02 +02:00
2009-06-12 18:01:50 +02:00
2009-05-09 10:08:19 +02:00
2009-08-02 14:23:29 +02:00
2009-03-30 22:05:17 +10:30
2009-06-17 18:29:42 +02:00
2009-08-02 14:10:12 +02:00
2009-03-30 17:17:35 -07:00
2009-05-15 15:32:45 +02:00
2009-07-10 10:43:29 +02:00
2009-03-24 23:16:51 +01:00
2009-07-18 14:19:52 +02:00
2009-08-01 11:18:56 -07:00
2009-06-16 19:47:49 -07:00
2009-08-07 10:39:55 -07:00
2009-07-22 17:01:17 +02:00
2009-04-02 19:05:11 -07:00
2009-03-30 22:05:17 +10:30
2009-06-16 19:47:48 -07:00
2009-06-28 11:05:28 -07:00
2009-07-18 23:11:43 +02:00
2009-03-18 19:55:00 +01:00
2009-06-15 21:30:23 -07:00
2009-04-02 19:05:01 -07:00
2009-06-18 13:03:55 -07:00
2009-04-14 17:17:16 +02:00
2009-06-02 01:10:40 +02:00