]> Git Repo - linux.git/commit - mm/khugepaged.c
mm: page cache: store only head pages in i_pages
authorMatthew Wilcox (Oracle) <[email protected]>
Mon, 23 Sep 2019 22:34:52 +0000 (15:34 -0700)
committerLinus Torvalds <[email protected]>
Tue, 24 Sep 2019 22:54:08 +0000 (15:54 -0700)
commit4101196b19d7f905dca5dcf46cd35eb758cf06c0
treef19a6fe24db9f749ef3e8c808eba6a067a336aa8
parent875d91b11a201276ac3a9ab79f8b0fa3dc4ee8fd
mm: page cache: store only head pages in i_pages

Transparent Huge Pages are currently stored in i_pages as pointers to
consecutive subpages.  This patch changes that to storing consecutive
pointers to the head page in preparation for storing huge pages more
efficiently in i_pages.

Large parts of this are "inspired" by Kirill's patch
https://lore.kernel.org/lkml/20170126115819[email protected]/

Kirill and Huang Ying contributed several fixes.

[[email protected]: use compound_nr, squish uninit-var warning]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Matthew Wilcox <[email protected]>
Acked-by: Jan Kara <[email protected]>
Reviewed-by: Kirill Shutemov <[email protected]>
Reviewed-by: Song Liu <[email protected]>
Tested-by: Song Liu <[email protected]>
Tested-by: William Kucharski <[email protected]>
Reviewed-by: William Kucharski <[email protected]>
Tested-by: Qian Cai <[email protected]>
Tested-by: Mikhail Gavrilov <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Chris Wilson <[email protected]>
Cc: Song Liu <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
include/linux/pagemap.h
mm/filemap.c
mm/huge_memory.c
mm/khugepaged.c
mm/memfd.c
mm/migrate.c
mm/shmem.c
mm/swap_state.c
This page took 0.056497 seconds and 4 git commands to generate.