[PATCH 0/5] Simplify /proc/$pid/maps implementation

From: Matthew Wilcox
Date: Sat Feb 29 2020 - 11:59:27 EST


From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>

Back in 2005, we merged a patch from Akamai that sped up /proc/$pid/maps
by using f_version to stash the user virtual address that we'd just
displayed. That wasn't necessary; we can just use the private *ppos for
the same purpose. There have also been some other odd choices made over
the years that use the seq_file infrastructure in some non-idiomatic ways.

Tested by using 'dd' with various different 'bs=' parameters to check that
calling ->start, ->stop and ->next at various offsets work as expected.

Matthew Wilcox (Oracle) (5):
proc: Inline vma_stop into m_stop
proc: remove m_cache_vma
proc: Use ppos instead of m->version
seq_file: Remove m->version
proc: Inline m_next_vma into m_next

fs/proc/task_mmu.c | 95 +++++++++++++---------------------------
fs/seq_file.c | 28 ------------
include/linux/seq_file.h | 1 -
3 files changed, 31 insertions(+), 93 deletions(-)

base-commit: d5226fa6dbae0569ee43ecfc08bdcd6770fc4755
--
2.25.0