mbox series

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

Message ID 20220711135237.173667-1-bfoster@redhat.com (mailing list archive)
Headers show
Series proc: improve root readdir latency with many threads | expand

Message

Brian Foster July 11, 2022, 1:52 p.m. UTC
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(-)

Comments

Matthew Wilcox July 11, 2022, 8:19 p.m. UTC | #1
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.