lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250415153659.14950-1-alexjlzheng@tencent.com>
Date: Tue, 15 Apr 2025 23:36:57 +0800
From: alexjlzheng@...il.com
To: gregkh@...uxfoundation.org,
	tj@...nel.org
Cc: linux-kernel@...r.kernel.org,
	Jinliang Zheng <alexjlzheng@...cent.com>
Subject: [PATCH v2 0/2] kernfs: switch global locks to per-fs lock

From: Jinliang Zheng <alexjlzheng@...cent.com>

The kernfs implementation has big lock granularity so every kernfs-based
(e.g., sysfs, cgroup) fs are able to compete the locks. This patchset
switches the global locks to per-fs locks.

In fact, the implementation of global locks has not yet introduced
performance issues. But in the long run, more and more file systems will
be implemented based on the kernfs framework, so this optimization is
meaningful.

There are three global locks now, kernfs_idr_lock, kernfs_rename_lock
and kernfs_pr_cont_lock. We only switch kernfs_idr_lock and
kernfs_rename_lock here, because kernfs_pr_cont_lock is on a cold path.

Changelog:
v2: Only switch kernfs_idr_lock and kernfs_rename_lock to per-fs
v1: https://lore.kernel.org/all/20250411183109.6334-1-alexjlzheng@tencent.com/

Jinliang Zheng (2):
  kernfs: switch global kernfs_idr_lock to per-fs lock
  kernfs: switch global kernfs_rename_lock to per-fs lock

 fs/kernfs/dir.c             | 28 +++++++++++++++-------------
 fs/kernfs/kernfs-internal.h | 16 ++++++++++++----
 2 files changed, 27 insertions(+), 17 deletions(-)

-- 
2.49.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ