[PATCH v2 0/4] proc: improve root readdir latency with many threads

Brian Foster posted 4 patches 3 years, 5 months ago
There is a newer version of this series
fs/proc/base.c      | 17 +----------------
include/linux/idr.h | 26 ++++++++++++++++++++++++++
include/linux/pid.h |  3 ++-
kernel/fork.c       |  2 +-
kernel/pid.c        | 40 +++++++++++++++++++++++++++++++++++++++-
lib/radix-tree.c    | 26 +++++++++++++++-----------
6 files changed, 84 insertions(+), 30 deletions(-)
[PATCH v2 0/4] proc: improve root readdir latency with many threads
Posted by Brian Foster 3 years, 5 months ago
Hi all,

Here's v2 of the /proc readdir optimization patches. See v1 for the full
introductary cover letter.

The refactoring in v2 adds a bit more to the idr code, but it remains
trivial with respect to eventual xarray (tag -> mark) conversion. On
that topic, I'm still looking for some feedback in the v1 thread [1] on
the prospective approach...

Brian

[1] https://lore.kernel.org/linux-fsdevel/YrykXim1t71TgdYg@bfoster/

v2:
- Clean up idr helpers to be more generic.
- Use ->idr_base properly.
- Lift tgid iteration helper into pid.c to abstract tag logic from
  users.
v1: https://lore.kernel.org/linux-fsdevel/20220614180949.102914-1-bfoster@redhat.com/

Brian Foster (4):
  radix-tree: propagate all tags in idr tree
  idr: support optional id tagging
  pid: tag pids associated with group leader tasks
  procfs: use efficient tgid pid search on root readdir

 fs/proc/base.c      | 17 +----------------
 include/linux/idr.h | 26 ++++++++++++++++++++++++++
 include/linux/pid.h |  3 ++-
 kernel/fork.c       |  2 +-
 kernel/pid.c        | 40 +++++++++++++++++++++++++++++++++++++++-
 lib/radix-tree.c    | 26 +++++++++++++++-----------
 6 files changed, 84 insertions(+), 30 deletions(-)

-- 
2.35.3
Re: [PATCH v2 0/4] proc: improve root readdir latency with many threads
Posted by Matthew Wilcox 3 years, 5 months ago
On Mon, Jul 11, 2022 at 09:52:33AM -0400, Brian Foster wrote:
> Hi all,
> 
> Here's v2 of the /proc readdir optimization patches. See v1 for the full
> introductary cover letter.

I really don't want to change the radix tree or IDR code.  That's why
I did the conversion of the pid code to use the XArray for you.

> The refactoring in v2 adds a bit more to the idr code, but it remains
> trivial with respect to eventual xarray (tag -> mark) conversion. On
> that topic, I'm still looking for some feedback in the v1 thread [1] on
> the prospective approach...

Oh, I missed the last few emails in that thread due to being on holiday.
I'll go back and read/reply to them now.