Re: Finding out who's holding a lock?

From: Peter Hurley
Date: Sat Aug 24 2013 - 06:50:54 EST


On 08/22/2013 08:52 PM, Andy Lutomirski wrote:
My program is occasionally seeing slow page faults. latencytop says
they're slow because they're waiting for read access to mmap_sem, but
latencytop isn't showing any other thread in the process blocking.

Is there any straightforward way to find out who called down_write on
mmap_sem when down_read is slow?

Build with CONFIG_LOCKDEP (Kernel Debugging -> Lock Debugging ->
"Lock Debugging: prove locking correctness").

When you experience the slowdown, sysrq + d (displays all currently
held locks). sysrq can also be programmatically triggered with
"echo d > /proc/sysrq-trigger" or equivalent.

Regards,
Peter Hurley

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/