diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-06-15 02:44:23 +0530 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-06-15 02:44:23 +0530 |
| commit | fac863c887a05d7c3091c5eccf30c89c2116ae11 (patch) | |
| tree | 484ba400219e0063b71009b35141d0f6150ba9f9 /rust/kernel/alloc | |
| parent | 4d23bdc4988efc22904c78ca36ebeef5deb950db (diff) | |
| parent | 5b451b76c85c8309d2e02caa467b38f5999c986f (diff) | |
Merge tag 'vfs-7.2-rc1.inode' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull vfs inode updates from Christian Brauner:
"This extends the lockless ->i_count handling.
iput() could already decrement any value greater than one locklessly
but acquiring a reference always required taking inode->i_lock. Now
acquiring a reference is lockless as long as the count was already at
least 1, i.e., only the 0->1 and 1->0 transitions take the lock.
This avoids the lock for the common cases of nfs calling into the
inode hash and btrfs using igrab(). Cleanup-wise icount_read_once() is
added to line up with inode_state_read_once() and the open-coded
->i_count loads across the tree are converted, and ihold() is
relocated and tidied up.
On top of that some stale lock ordering annotations are retired from
the inode hash code: iunique() no longer takes the hash lock since the
inode hash became RCU-searchable and s_inode_list_lock is no longer
taken under the hash lock either"
* tag 'vfs-7.2-rc1.inode' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
fs: retire stale lock ordering annotations from inode hash
fs: allow lockless ->i_count bumps as long as it does not transition 0->1
fs: relocate and tidy up ihold()
fs: add icount_read_once() and stop open-coding ->i_count loads
Diffstat (limited to 'rust/kernel/alloc')
0 files changed, 0 insertions, 0 deletions
