Re: [RFC PATCH 0/3] Remove mrlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pavel has looked into this before and got stuck on the allocator
workqueue offloads:

[PATCH v13 0/4] xfs: Remove wrappers for some semaphores

On Wed, Jan 13, 2021 at 01:17:03PM +0200, Nikolay Borisov wrote:
> This series removes mrlock_t and directly replaces i_lock and i_mmaplock with
> rw_semaphore in xfs_inode. My end game with this is to eventually lift i_mmaplock
> in VFS and use it from there. The necessity for the latter came up since BTRFS
> is also about to get its own private version of i_mmaplock for the same use case.
> This  will mean that all 3 major filesystems on linux (ext4/xfs/btrfs) wil share
> the same lock. Christoph naturally suggested for the lock to be lifted to VFS.
> 
> Before proceeding with this work I'd like to get the opinion of XFS developers
> whether doing that is acceptable for them. I've heard that Dave wants to eventually
> convert the mmapsem to a range lock for XFS and implement a callback mechanism
> for VFS to call into every filesystem...
> 
> I've only compile tested this and also the way the rwsem is checked for write
> is admittedly a bit hackish but it can easily be changed to utilize lockdep.
> I'm aware of https://lore.kernel.org/linux-xfs/20201102194135.174806-1-preichl@xxxxxxxxxx/
> but frankly that series went too far up to rev 10 which is a bit mind boggling...
> 
> Nikolay Borisov (3):
>   xfs: Add is_rwsem_write_locked function
>   xfs: Convert i_lock/i_mmaplock to  rw_semaphore
>   xfs: Remove mrlock
> 
>  fs/xfs/mrlock.h          | 78 ----------------------------------------
>  fs/xfs/xfs_inode.c       | 48 ++++++++++++++-----------
>  fs/xfs/xfs_inode.h       |  6 ++--
>  fs/xfs/xfs_linux.h       |  1 -
>  fs/xfs/xfs_qm_syscalls.c |  2 +-
>  fs/xfs/xfs_super.c       |  7 ++--
>  6 files changed, 34 insertions(+), 108 deletions(-)
>  delete mode 100644 fs/xfs/mrlock.h
> 
> --
> 2.25.1
> 
---end quoted text---



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux