Messages in this thread | | | Date | Thu, 19 Nov 2009 11:50:20 -0800 | From | Arjan van de Ven <> | Subject | commit b00bc0b237055b breaking perf subsystem |
| |
commit b00bc0b237055b4c45816325ee14f0bd83e6f590 Author: Thomas Gleixner <tglx@linutronix.de> Date: Mon Nov 2 13:01:56 2009 +0100
uids: Prevent tear down race
has been bisected to break the perf system between -rc5 and -rc7; and reverting this patch in rc7 also fixes the issue.
now this patch is.... fun and seemingly unrelated to perf, so I am pretty sure something else is going on.
the symptom of the breakage is that a userland client of perf (in my case, powertop) does not get to see new events if there is only, say, one or two of them. The data_head pointer just does not get updated.
Based on the patch, I have a suspicion that this pointer gets updated from synchronize RCU context, and this patch just makes that happen more.
If that is the case, what we really need is a new ioctl to perf that will cause all pending buffer state to be flushed to the ring buffer, that applications using perf can then just always call before looking at the ring. As a concept, that sounds like a good idea to me anyway...
comments/suggestions/saying-I'm-full-of-sh*t ?
-- Arjan van de Ven Intel Open Source Technology Centre For development, discussion and tips for power savings, visit http://www.lesswatts.org
| |