kernfs: switch global kernfs_rwsem lock to per-fs lock
The kernfs implementation has big lock granularity(kernfs_rwsem) so every kernfs-based(e.g., sysfs, cgroup) fs are able to compete the lock. It makes trouble for some cases to wait the global lock for a long time even though they are totally independent contexts each other. A general example is process A goes under direct reclaim with holding the lock when it accessed the file in sysfs and process B is waiting the lock with exclusive mode and then process C is waiting the lock until process B could finish the job after it gets the lock from process A. This patch switches the global kernfs_rwsem to per-fs lock, which put the rwsem into kernfs_root. Suggested-by:Tejun Heo <tj@kernel.org> Acked-by:
Tejun Heo <tj@kernel.org> Signed-off-by:
Minchan Kim <minchan@kernel.org> Link: https://lore.kernel.org/r/20211118230008.2679780-1-minchan@kernel.org Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading
-
mentioned in commit d8dbc91f
-
mentioned in commit 1de2411a
-
mentioned in commit 05de9bce
-
mentioned in commit f0afa4ae
-
mentioned in commit c3490378
-
mentioned in commit 35535abc
-
mentioned in commit 9429d3dd
-
mentioned in commit dd12fb6b
-
mentioned in commit d09f6886
-
mentioned in commit f2242c11
-
mentioned in commit aed47dda
Please sign in to comment