public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] lock issue in perf cgroup with jump label enabled
@ 2011-03-03  8:31 Li Zefan
  2011-03-03 10:06 ` Peter Zijlstra
  0 siblings, 1 reply; 4+ messages in thread
From: Li Zefan @ 2011-03-03  8:31 UTC (permalink / raw)
  To: Stephane Eranian
  Cc: Ingo Molnar, Peter Zijlstra, Jason Baron, Steven Rostedt, LKML

With CONFIG_JUMP_LABEL enabled:

# mount -t cgroup -o perf_event xxx /mnt
# mkdir /mnt/test
# ./perf stat -B -a -e cycles:u -G test -- sleep 1

lockdep warning will be triggered immediately, and the machine
will become unresponsive.

I guess this is the culprit?

In the "perf cgroup support" patch:

@@ -419,6 +781,17 @@ list_add_event(struct perf_event *event, struct perf_event_con
                list_add_tail(&event->group_entry, list);
        }
 
+       if (is_cgroup_event(event)) {
+               ctx->nr_cgroups++;
+               /*
+                * one more event:
+                * - that has cgroup constraint on event->cpu
+                * - that may need work on context switch
+                */
+               atomic_inc(&per_cpu(perf_cgroup_events, event->cpu));
+               jump_label_inc(&perf_sched_events);
+       }

list_add_event() is called with spin lock ctl->lock held,  while
jump_label_inc() will acquire jump_label_mutex..

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-04  2:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-03  8:31 [BUG] lock issue in perf cgroup with jump label enabled Li Zefan
2011-03-03 10:06 ` Peter Zijlstra
2011-03-03 14:17   ` Peter Zijlstra
2011-03-04  2:07     ` Li Zefan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox