The patch titled Subject: mm: remove nrexceptional from inode has been added to the -mm tree. Its filename is mm-remove-nrexceptional-from-inode.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-remove-nrexceptional-from-inode.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-remove-nrexceptional-from-inode.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> Subject: mm: remove nrexceptional from inode We no longer track anything in nrexceptional, so remove it, saving 8 bytes per inode. Link: https://lkml.kernel.org/r/20201026151849.24232-5-willy@xxxxxxxxxxxxx Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Tested-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/inode.c | 2 +- include/linux/fs.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) --- a/fs/inode.c~mm-remove-nrexceptional-from-inode +++ a/fs/inode.c @@ -530,7 +530,7 @@ void clear_inode(struct inode *inode) */ xa_lock_irq(&inode->i_data.i_pages); BUG_ON(inode->i_data.nrpages); - BUG_ON(inode->i_data.nrexceptional); + BUG_ON(!mapping_empty(&inode->i_data)); xa_unlock_irq(&inode->i_data.i_pages); BUG_ON(!list_empty(&inode->i_data.private_list)); BUG_ON(!(inode->i_state & I_FREEING)); --- a/include/linux/fs.h~mm-remove-nrexceptional-from-inode +++ a/include/linux/fs.h @@ -441,7 +441,6 @@ int pagecache_write_end(struct file *, s * @i_mmap: Tree of private and shared mappings. * @i_mmap_rwsem: Protects @i_mmap and @i_mmap_writable. * @nrpages: Number of page entries, protected by the i_pages lock. - * @nrexceptional: Shadow or DAX entries, protected by the i_pages lock. * @writeback_index: Writeback starts here. * @a_ops: Methods. * @flags: Error bits and flags (AS_*). @@ -462,7 +461,6 @@ struct address_space { struct rb_root_cached i_mmap; struct rw_semaphore i_mmap_rwsem; unsigned long nrpages; - unsigned long nrexceptional; pgoff_t writeback_index; const struct address_space_operations *a_ops; unsigned long flags; _ Patches currently in -mm which might be from willy@xxxxxxxxxxxxx are mm-filemap-use-filemap_read_page-in-filemap_fault.patch mm-filemap-drop-check-for-truncated-page-after-i-o.patch mm-introduce-and-use-mapping_empty.patch mm-stop-accounting-shadow-entries.patch dax-account-dax-entries-as-nrpages.patch mm-remove-nrexceptional-from-inode.patch mm-page_alloc-rename-alloc_mask-to-alloc_gfp.patch mm-page_alloc-rename-gfp_mask-to-gfp.patch mm-page_alloc-combine-__alloc_pages-and-__alloc_pages_nodemask.patch mm-mempolicy-rename-alloc_pages_current-to-alloc_pages.patch mm-mempolicy-rewrite-alloc_pages-documentation.patch mm-mempolicy-rewrite-alloc_pages_vma-documentation.patch mm-mempolicy-fix-mpol_misplaced-kernel-doc.patch include-remove-pagemaph-from-blkdevh.patch