diff options
| author | Yuanchu Xie <[email protected]> | 2023-05-16 01:26:08 +0800 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-06-09 16:25:20 -0700 |
| commit | 7bab8dfb12d63e6aea325362b0a52916a5503fe6 (patch) | |
| tree | fd96dbbe1486e061f6d46610da921e7519404b62 /tools/perf/scripts/python/export-to-postgresql.py | |
| parent | 4822acb1369637938c1252d534d3356c5e313cde (diff) | |
mm: pagemap: restrict pagewalk to the requested range
The pagewalk in pagemap_read reads one PTE past the end of the requested
range, and stops when the buffer runs out of space. While it produces
the right result, the extra read is unnecessary and less performant.
I timed the following command before and after this patch:
dd count=100000 if=/proc/self/pagemap of=/dev/null
The results are consistently within 0.001s across 5 runs.
Before:
100000+0 records in
100000+0 records out
51200000 bytes (51 MB) copied, 0.0763159 s, 671 MB/s
real 0m0.078s
user 0m0.012s
sys 0m0.065s
After:
100000+0 records in
100000+0 records out
51200000 bytes (51 MB) copied, 0.0487928 s, 1.0 GB/s
real 0m0.050s
user 0m0.011s
sys 0m0.039s
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Yuanchu Xie <[email protected]>
Acked-by: Peter Xu <[email protected]>
Reviewed-by: Yang Shi <[email protected]>
Acked-by: David Rientjes <[email protected]>
Cc: Kirill A. Shutemov <[email protected]>
Cc: Liam R. Howlett <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: Pavel Tatashin <[email protected]>
Cc: Zach O'Keefe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions