diff options
| author | Vlastimil Babka <[email protected]> | 2017-09-06 16:20:44 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2017-09-06 17:27:26 -0700 |
| commit | dab4ead1a9d88361c85a8209c7e23a8fd124e8d7 (patch) | |
| tree | 8778ce150001f4846d282efef4ad6c119bfe0200 /tools/perf/scripts/python/event_analyzing_sample.py | |
| parent | b95046b0472f7a805fa28fbcfc7205a76ff7a7d0 (diff) | |
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 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions