On Wed, Jan 20, 2021 at 05:28:36PM +0000, Christoph Hellwig wrote: > On Wed, Jan 20, 2021 at 06:27:05PM +0100, Jan Kara wrote: > > This would mean pulling i_mmap_sem out from ext4/XFS/F2FS private inode > > into the VFS inode. Which is fine by me but it would grow struct inode for > > proc / tmpfs / btrfs (although for btrfs I'm not convinced it isn't > > actually prone to the race and doesn't need similar protection as xfs / > > ext4) so some people may object. > > The btrfs folks are already looking into lifting it to common code. > > Also I have a patch pending to remove a list_head from the inode to > counter the size increase :) We can get rid of nrexceptional as well: https://lore.kernel.org/linux-fsdevel/20201026151849.24232-1-willy@xxxxxxxxxxxxx/ We can also reduce the size of the rwsem by one word by replacing the list_head with a single pointer. https://git.infradead.org/users/willy/pagecache.git/shortlog/refs/heads/wlist (haven't touched it in almost four years, seemed to have a bug last time i looked at it).