Miklos Szeredi df820f8de4 ovl: make private mounts longterm
Overlayfs is using clone_private_mount() to create internal mounts for
underlying layers.  These are used for operations requiring a path, such as
dentry_open().

Since these private mounts are not in any namespace they are treated as
short term, "detached" mounts and mntput() involves taking the global
mount_lock, which can result in serious cacheline pingpong.

Make these private mounts longterm instead, which trade the penalty on
mntput() for a slightly longer shutdown time due to an added RCU grace
period when putting these mounts.

Introduce a new helper kern_unmount_many() that can take care of multiple
longterm mounts with a single RCU grace period.

Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2020-06-04 10:48:19 +02:00
..
2020-04-10 15:36:22 -07:00
2020-02-19 02:42:21 -07:00
2020-03-31 10:05:01 -07:00
2020-03-30 01:35:12 +02:00
2020-04-01 16:11:40 -07:00
2020-04-17 11:35:20 -07:00
2020-03-19 10:40:27 +10:00
2019-12-11 09:12:38 +01:00
2020-03-30 13:42:05 -07:00
2020-03-19 07:41:04 +01:00
2020-04-03 14:25:02 -07:00
2020-04-05 11:12:59 -07:00
2020-04-02 17:03:53 -07:00
2020-04-05 10:36:18 -07:00
2020-03-30 13:42:05 -07:00
2020-03-15 11:34:48 +02:00
2020-04-02 15:13:15 -07:00
2019-12-30 11:58:02 -07:00
2019-09-27 11:17:38 -07:00
2020-04-03 13:22:40 -07:00
2020-03-31 16:03:39 -07:00