diff options
| author | Keith Busch <[email protected]> | 2018-10-26 22:10:28 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2018-10-26 23:38:15 +0000 |
| commit | df06b37ffe5a442503b7095b77b0a970df515459 (patch) | |
| tree | 2fdb301eba4b4c2240595040496096b3a6489c79 /tools/perf/scripts/python/mem-phys-addr.py | |
| parent | Revert "x86/e820: put !E820_TYPE_RAM regions into memblock.reserved" (diff) | |
| download | kernel-df06b37ffe5a442503b7095b77b0a970df515459.tar.gz kernel-df06b37ffe5a442503b7095b77b0a970df515459.zip | |
mm/gup: cache dev_pagemap while pinning pages
Getting pages from ZONE_DEVICE memory needs to check the backing device's
live-ness, which is tracked in the device's dev_pagemap metadata. This
metadata is stored in a radix tree and looking it up adds measurable
software overhead.
This patch avoids repeating this relatively costly operation when
dev_pagemap is used by caching the last dev_pagemap while getting user
pages. The gup_benchmark kernel self test reports this reduces time to
get user pages to as low as 1/3 of the previous time.
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Keith Busch <[email protected]>
Reviewed-by: Dan Williams <[email protected]>
Acked-by: Kirill A. Shutemov <[email protected]>
Cc: Dave Hansen <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/mem-phys-addr.py')
0 files changed, 0 insertions, 0 deletions
