On 10/17/2011 05:43 PM, Arun Sharma wrote: > On Thu, Oct 13, 2011 at 11:36:23PM -0700, Roland Dreier wrote: >> Hi everyone, >> >> Hope this question from a kernel hacker about profiling userspace >> isn't too dumb... >> >> Anyway, suppose I have a multithreaded userspace app that uses a bunch of >> pthread_mutexes, and I want to figure out which locks are hot and/or heavily >> contended. What's the best way to do that? Is perf the right, or is there >> something better? (This seems like such an obvious thing to want that there >> must be some good way to get this data, I hope) > > Sampling on sys_futex entry/exit is a good start. But it doesn't tell > you if the thread spent 1us or 1ms waiting on the futex. We really need > to add weights to the profile based on sleep times (or other criteria).
Doesn't the delta tell you the time it spends waiting? > > You might want to follow further discussion in the thread with the > subject "Profiling sleep times?". > > perf record -ag -e cs -- sleep 1 And augmenting with cs (isn't the -c1 required? I've always added it for software events) tells you if it was scheduled out. David > > is a more general version of this. It helps in understanding what's > causing the thread to give up CPU voluntarily (you might have to filter > the output a bit). > > -Arun > > -- > To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
