"Nagaprabhanjan Bellari" <nagp.iitb@...> writes:
> In any performance analysis situation, if the response time is slow
> and the measurement numbers indicate that CPU is also idle most of the
> time, we know that most of the time is spent in waiting. We can remove
> elements such as network and disk statistics from the question if we
> come to know that their activity is also low - but how to know if
> components are waiting in different queues contending for soft
> resources like semaphores/locks? Is there anyway to find that - other
> than attaching gdb or some similar tool to process?
There are a couple of sleep profilers (like latencytop, profile=sched,
ftrace plugins), but most of them seem to be quite limited and don't
really have the full infrastructure oprofile has.
I played around some time ago with a patch that added a new "sleep"
profiling mode to oprofile. Together with the calltrace mode
it could have given you the information you wanted.
Unfortunately the patch was not very good and I didn't have
time to move it forward.