From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0BDB36F426 for ; Fri, 24 Apr 2026 10:31:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777026670; cv=none; b=TDliEPNBMpRi3HgM19XH6bT8AHRcICkNfHtNfpAL3cyGhiFvSQUllydyEvQkZIsuQMAf31BE1vNMZKLhoB6XX0bXgwa0CtWrYTjkrr5iV1kBEsp8dxEs+LQwNo2CasL70dWIo8XlTC4/epuXar5J69gXtCpeP/vekP8G9KxeKYM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777026670; c=relaxed/simple; bh=Q3GetZ68MV9O3PHGI2x5Yp1bvzcOCTDOCXh/NgPcR4k=; h=Date:To:From:Subject:Message-Id; b=W93JKAyLvUArVoISLIov7X+Hl+2Y0H4qxtjQzODY4bL5zffvSvDq47E0iHI/RgBNP8ABont26KsGESNOQMuLcaz0h5TUUnopWMbFyVKY4IElhlqLVwM9F8NIYzZAC5sXZHEcRLDFGuxmNo1Fxys1OtqXhtYGojln7T0nQDLj5W8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=oYxnajx4; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="oYxnajx4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99DBAC19425; Fri, 24 Apr 2026 10:31:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1777026670; bh=Q3GetZ68MV9O3PHGI2x5Yp1bvzcOCTDOCXh/NgPcR4k=; h=Date:To:From:Subject:From; b=oYxnajx43uWca/NgY3/SIfCntyI/jmEhn70xEwBs5f92Xh8GK3dByyNRC7O0QadjG Bc4offk8jF5pRxYm9alk/9EH7ZUoTlT011AJwXDvJIw+ASk4riuhoWzr0fvBS3EoAT pbgMfjUwq6xleLi9/5ikx2Q8M4Kl0wPW5VU21x6I= Date: Fri, 24 Apr 2026 03:31:10 -0700 To: mm-commits@vger.kernel.org,ziy@nvidia.com,akpm@linux-foundation.org From: Andrew Morton Subject: + fs-remove-nr_thps-from-struct-address_space.patch added to mm-new branch Message-Id: <20260424103110.99DBAC19425@smtp.kernel.org> Precedence: bulk X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The patch titled Subject: fs: remove nr_thps from struct address_space has been added to the -mm mm-new branch. Its filename is fs-remove-nr_thps-from-struct-address_space.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/fs-remove-nr_thps-from-struct-address_space.patch This patch will later appear in the mm-new branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Note, mm-new is a provisional staging ground for work-in-progress patches, and acceptance into mm-new is a notification for others take notice and to finish up reviews. Please do not hesitate to respond to review feedback and post updated versions to replace or incrementally fixup patches in mm-new. The mm-new branch of mm.git is not included in linux-next If a few days of testing in mm-new is successful, the patch will me moved into mm.git's mm-unstable branch, which is included in linux-next 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 via various branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there most days ------------------------------------------------------ From: Zi Yan Subject: fs: remove nr_thps from struct address_space Date: Thu, 23 Apr 2026 22:49:10 -0400 filemap_nr_thps*() are removed, the related field, address_space->nr_thps, is no longer needed. Remove it. This shrinks struct address_space by 8 bytes on 64-bit systems which may increase the number of inodes we can cache. Link: https://lore.kernel.org/20260424024915.28758-8-ziy@nvidia.com Signed-off-by: Zi Yan Reviewed-by: Lorenzo Stoakes (Oracle) Acked-by: David Hildenbrand (Arm) Reviewed-by: Lance Yang Reviewed-by: Matthew Wilcox (Oracle) Reviewed-by: Baolin Wang Cc: Al Viro Cc: Barry Song Cc: Chris Mason Cc: Christian Brauner Cc: David Sterba Cc: Dev Jain Cc: Jan Kara Cc: Liam Howlett Cc: Michal Hocko Cc: Mike Rapoport Cc: Nico Pache Cc: Ryan Roberts Cc: Shuah Khan Cc: Song Liu Cc: Suren Baghdasaryan Signed-off-by: Andrew Morton --- fs/inode.c | 3 --- include/linux/fs.h | 5 ----- 2 files changed, 8 deletions(-) --- a/fs/inode.c~fs-remove-nr_thps-from-struct-address_space +++ a/fs/inode.c @@ -279,9 +279,6 @@ int inode_init_always_gfp(struct super_b mapping->flags = 0; mapping->wb_err = 0; atomic_set(&mapping->i_mmap_writable, 0); -#ifdef CONFIG_READ_ONLY_THP_FOR_FS - atomic_set(&mapping->nr_thps, 0); -#endif mapping_set_gfp_mask(mapping, GFP_HIGHUSER_MOVABLE); mapping->writeback_index = 0; init_rwsem(&mapping->invalidate_lock); --- a/include/linux/fs.h~fs-remove-nr_thps-from-struct-address_space +++ a/include/linux/fs.h @@ -460,7 +460,6 @@ struct mapping_metadata_bhs { * memory mappings. * @gfp_mask: Memory allocation flags to use for allocating pages. * @i_mmap_writable: Number of VM_SHARED, VM_MAYWRITE mappings. - * @nr_thps: Number of THPs in the pagecache (non-shmem only). * @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. @@ -476,10 +475,6 @@ struct address_space { struct rw_semaphore invalidate_lock; gfp_t gfp_mask; atomic_t i_mmap_writable; -#ifdef CONFIG_READ_ONLY_THP_FOR_FS - /* number of thp, only for non-shmem files */ - atomic_t nr_thps; -#endif struct rb_root_cached i_mmap; unsigned long nrpages; pgoff_t writeback_index; _ Patches currently in -mm which might be from ziy@nvidia.com are mm-khugepaged-remove-read_only_thp_for_fs-check.patch mm-khugepaged-add-folio-dirty-check-after-try_to_unmap.patch mm-huge_memory-remove-read_only_thp_for_fs-from-file_thp_enabled.patch mm-khugepaged-remove-read_only_thp_for_fs-check-in-hugepage_enabled.patch mm-remove-read_only_thp_for_fs-kconfig-option.patch mm-fs-remove-filemap_nr_thps-functions-and-their-users.patch fs-remove-nr_thps-from-struct-address_space.patch mm-huge_memory-remove-folio-split-check-for-read_only_thp_for_fs.patch mm-truncate-use-folio_split-in-truncate_inode_partial_folio.patch fs-btrfs-remove-a-comment-referring-to-read_only_thp_for_fs.patch selftests-mm-remove-read_only_thp_for_fs-in-khugepaged.patch selftests-mm-remove-read_only_thp_for_fs-code-from-guard-regions.patch