Message ID | 20201026151849.24232-1-willy@infradead.org (mailing list archive) |
---|---|
Headers | show |
Series | Remove nrexceptional tracking | expand |
Ping? These patches still apply to next-20210121. On Mon, Oct 26, 2020 at 03:18:45PM +0000, Matthew Wilcox (Oracle) wrote: > We actually use nrexceptional for very little these days. It's a minor > pain to keep in sync with nrpages, but the pain becomes much bigger > with the THP patches because we don't know how many indices a shadow > entry occupies. It's easier to just remove it than keep it accurate. > > Also, we save 8 bytes per inode which is nothing to sneeze at; on my > laptop, it would improve shmem_inode_cache from 22 to 23 objects per > 16kB, and inode_cache from 26 to 27 objects. Combined, that saves > a megabyte of memory from a combined usage of 25MB for both caches. > Unfortunately, ext4 doesn't cross a magic boundary, so it doesn't save > any memory for ext4. > > Matthew Wilcox (Oracle) (4): > mm: Introduce and use mapping_empty > mm: Stop accounting shadow entries > dax: Account DAX entries as nrpages > mm: Remove nrexceptional from inode > > fs/block_dev.c | 2 +- > fs/dax.c | 8 ++++---- > fs/gfs2/glock.c | 3 +-- > fs/inode.c | 2 +- > include/linux/fs.h | 2 -- > include/linux/pagemap.h | 5 +++++ > mm/filemap.c | 16 ---------------- > mm/swap_state.c | 4 ---- > mm/truncate.c | 19 +++---------------- > mm/workingset.c | 1 - > 10 files changed, 15 insertions(+), 47 deletions(-) > > -- > 2.28.0 >
> On Oct 26, 2020, at 9:18 AM, Matthew Wilcox (Oracle) <willy@infradead.org> wrote: > > We actually use nrexceptional for very little these days. It's a minor > pain to keep in sync with nrpages, but the pain becomes much bigger > with the THP patches because we don't know how many indices a shadow > entry occupies. It's easier to just remove it than keep it accurate. > > Also, we save 8 bytes per inode which is nothing to sneeze at; on my > laptop, it would improve shmem_inode_cache from 22 to 23 objects per > 16kB, and inode_cache from 26 to 27 objects. Combined, that saves > a megabyte of memory from a combined usage of 25MB for both caches. > Unfortunately, ext4 doesn't cross a magic boundary, so it doesn't save > any memory for ext4. > > Matthew Wilcox (Oracle) (4): > mm: Introduce and use mapping_empty > mm: Stop accounting shadow entries > dax: Account DAX entries as nrpages > mm: Remove nrexceptional from inode > > fs/block_dev.c | 2 +- > fs/dax.c | 8 ++++---- > fs/gfs2/glock.c | 3 +-- > fs/inode.c | 2 +- > include/linux/fs.h | 2 -- > include/linux/pagemap.h | 5 +++++ > mm/filemap.c | 16 ---------------- > mm/swap_state.c | 4 ---- > mm/truncate.c | 19 +++---------------- > mm/workingset.c | 1 - > 10 files changed, 15 insertions(+), 47 deletions(-) > > -- > 2.28.0 Looks good to me. Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Ping? On Thu, Jan 21, 2021 at 06:43:34PM +0000, Matthew Wilcox wrote: > Ping? These patches still apply to next-20210121. > > On Mon, Oct 26, 2020 at 03:18:45PM +0000, Matthew Wilcox (Oracle) wrote: > > We actually use nrexceptional for very little these days. It's a minor > > pain to keep in sync with nrpages, but the pain becomes much bigger > > with the THP patches because we don't know how many indices a shadow > > entry occupies. It's easier to just remove it than keep it accurate. > > > > Also, we save 8 bytes per inode which is nothing to sneeze at; on my > > laptop, it would improve shmem_inode_cache from 22 to 23 objects per > > 16kB, and inode_cache from 26 to 27 objects. Combined, that saves > > a megabyte of memory from a combined usage of 25MB for both caches. > > Unfortunately, ext4 doesn't cross a magic boundary, so it doesn't save > > any memory for ext4. > > > > Matthew Wilcox (Oracle) (4): > > mm: Introduce and use mapping_empty > > mm: Stop accounting shadow entries > > dax: Account DAX entries as nrpages > > mm: Remove nrexceptional from inode > > > > fs/block_dev.c | 2 +- > > fs/dax.c | 8 ++++---- > > fs/gfs2/glock.c | 3 +-- > > fs/inode.c | 2 +- > > include/linux/fs.h | 2 -- > > include/linux/pagemap.h | 5 +++++ > > mm/filemap.c | 16 ---------------- > > mm/swap_state.c | 4 ---- > > mm/truncate.c | 19 +++---------------- > > mm/workingset.c | 1 - > > 10 files changed, 15 insertions(+), 47 deletions(-) > > > > -- > > 2.28.0 > > >