Skip to content

readahead stats/tracing, backwards prefetching and more (v4)

Wu Fengguang linux-fsdevel linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 4 repliesIn review

Changes since v3 from the cover letter

- default to CONFIG_READAHEAD_STATS=n
- drop "block: limit default readahead size for small devices" (and expect some distro udev rules to do the job)
- use percpu_counter for the readahead stats

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9readahead: make context readahead more conservativemm/readahead.c+4 -40 replies
2/9readahead: record readahead patternsinclude/linux/fs.h include/linux/mm.h mm/filemap.c +1 more+62 -100 replies
3/9readahead: tag mmap page fault call sitesinclude/linux/fs.h mm/filemap.c mm/readahead.c+7 -10 replies
4/9readahead: tag metadata call sitesfs/ext3/dir.c fs/ext4/dir.c include/linux/fs.h +1 more+4 -00 replies
5/9readahead: add vfs/readahead tracing eventfs/Makefile fs/trace.c include/trace/events/vfs.h +1 more+104 -00 replies
6/9readahead: add /debug/readahead/statsmm/Kconfig mm/readahead.c+217 -04 replies
6/9readahead: add /debug/readahead/statsmm/Kconfig mm/readahead.c+217 -00 replies
7/9readahead: basic support for backwards prefetchinginclude/linux/fs.h include/trace/events/vfs.h mm/readahead.c+23 -00 replies
8/9readahead: dont do start-of-file readahead after lseek()fs/read_write.c include/linux/fs.h mm/readahead.c+8 -00 replies
9/9readahead: snap readahead request to EOFmm/readahead.c+21 -00 replies

Reviews trailers per patch

9 of 10 patches have a Reviewed-by or Acked-by.

PatchTao MaJan KaraRik van RielSteven RostedtLinus Torvalds
1/9T-b
2/9A-b A-b
3/9A-b
4/9A-b
5/9A-b A-b A-b
6/9A-b A-b
6/9A-b A-b
7/9A-b
8/9A-b A-b
9/9A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.

Read the v1 thread

Cover letter [PATCH 0/9] readahead stats/tracing, backwards prefetching and more (v4)

Andrew,

Will you include it into the -mm tree?

This introduces the per-cpu readahead stats, tracing, backwards prefetching, fixes context readahead for SSD random reads and does some other minor changes.

Changes since v3:
- default to CONFIG_READAHEAD_STATS=n
- drop "block: limit default readahead size for small devices" (and expect some distro udev rules to do the job)
- use percpu_counter for the readahead stats

Changes since v2:
- use per-cpu counters for readahead stats
- make context readahead more conservative
- simplify readahead tracing format and use __print_symbolic()
- backwards prefetching and snap to EOF fixes and cleanups

Changes since v1:
- use bit fields: pattern, for_mmap, for_metadata, lseek
- comment the various readahead patterns
- drop boot options "readahead=" and "readahead_stats="
- add for_metadata
- add snapping to EOF

[PATCH 1/9] readahead: make context readahead more conservative [PATCH 2/9] readahead: record readahead patterns
[PATCH 3/9] readahead: tag mmap page fault call sites [PATCH 4/9] readahead: tag metadata call sites
[PATCH 5/9] readahead: add vfs/readahead tracing event [PATCH 6/9] readahead: add /debug/readahead/stats
[PATCH 7/9] readahead: basic support for backwards prefetching [PATCH 8/9] readahead: dont do start-of-file readahead after lseek() [PATCH 9/9] readahead: snap readahead request to EOF

 fs/Makefile                |    1 
 fs/ext3/dir.c              |    1 
 fs/ext4/dir.c              |    1 
 fs/read_write.c            |    3 
 fs/trace.c                 |    2 
 include/linux/fs.h         |   41 ++++
 include/linux/mm.h         |    4 
 include/trace/events/vfs.h |   78 ++++++++
 mm/Kconfig                 |   15 +
 mm/filemap.c               |    9 -
 mm/readahead.c             |  310 +++++++++++++++++++++++++++++++++--
 11 files changed, 450 insertions(+), 15 deletions(-)

Thanks,
Fengguang

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>