locks: Filter /proc/locks output on proc pid ns
authorNikolay Borisov <kernel@kyup.com>
Wed, 17 Aug 2016 20:18:46 +0000 (16:18 -0400)
committerJeff Layton <jlayton@redhat.com>
Thu, 18 Aug 2016 17:49:41 +0000 (13:49 -0400)
commitd67fd44f697dff293d7cdc29af929241b669affe
tree0c1e26c0d0669db52f4a50f6cb15a9e7fa4b2ea6
parent5ff132c07aa155d759ab3da946c86351313d3020
locks: Filter /proc/locks output on proc pid ns

On busy container servers reading /proc/locks shows all the locks
created by all clients. This can cause large latency spikes. In my
case I observed lsof taking up to 5-10 seconds while processing around
50k locks. Fix this by limiting the locks shown only to those created
in the same pidns as the one the proc fs was mounted in. When reading
/proc/locks from the init_pid_ns proc instance then perform no
filtering

[ jlayton: reformat comments for 80 columns ]

Signed-off-by: Nikolay Borisov <kernel@kyup.com>
Suggested-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
fs/locks.c