aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/caching/netfs-api.txt
diff options
context:
space:
mode:
authorVlastimil Babka <[email protected]>2017-09-06 23:20:44 +0000
committerLinus Torvalds <[email protected]>2017-09-07 00:27:26 +0000
commitdab4ead1a9d88361c85a8209c7e23a8fd124e8d7 (patch)
tree8778ce150001f4846d282efef4ad6c119bfe0200 /Documentation/filesystems/caching/netfs-api.txt
parentmm, sparse, page_ext: drop ugly N_HIGH_MEMORY branches for allocations (diff)
downloadkernel-dab4ead1a9d88361c85a8209c7e23a8fd124e8d7.tar.gz
kernel-dab4ead1a9d88361c85a8209c7e23a8fd124e8d7.zip
mm, page_owner: make init_pages_in_zone() faster
In init_pages_in_zone() we currently use the generic set_page_owner() function to initialize page_owner info for early allocated pages. This means we needlessly do lookup_page_ext() twice for each page, and more importantly save_stack(), which has to unwind the stack and find the corresponding stack depot handle. Because the stack is always the same for the initialization, unwind it once in init_pages_in_zone() and reuse the handle. Also avoid the repeated lookup_page_ext(). This can significantly reduce boot times with page_owner=on on large machines, especially for kernels built without frame pointer, where the stack unwinding is noticeably slower. [[email protected]: don't duplicate code of __set_page_owner(), per Michal Hocko] [[email protected]: coding-style fixes] [[email protected]: create statically allocated fake stack trace for early allocated pages, per Michal] Link: http://lkml.kernel.org/r/[email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Vlastimil Babka <[email protected]> Acked-by: Michal Hocko <[email protected]> Cc: Joonsoo Kim <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Yang Shi <[email protected]> Cc: Laura Abbott <[email protected]> Cc: Vinayak Menon <[email protected]> Cc: zhong jiang <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'Documentation/filesystems/caching/netfs-api.txt')
0 files changed, 0 insertions, 0 deletions