mbox series

[0/3] pid: replace idr api with xarray

Message ID 20220715113349.831370-1-bfoster@redhat.com (mailing list archive)
Headers show
Series pid: replace idr api with xarray | expand

Message

Brian Foster July 15, 2022, 11:33 a.m. UTC
Hi all,

This series is a few patches to switch struct pid management over from
the idr api to the xarray api. The underlying data structures are
already the same between both apis, but the idr relies on the old and
slightly customized radix-tree implementation to accomplish things like
efficient free id tracking, which xarray already supports directly.

This is all based on a prototype patch[1] from Willy that fell out from
discussion on a separate series to try and improve /proc readdir
performance using radix-tree tags (to be replaced with xarray marks).
I've basically split it up into a few smaller patches, made some minor
tweaks, and ran some tests on the result.

Willy,

Re: the above, I've included your s-o-b on each of the patches. I'm not
sure what your preference or the proper etiquette is here. Let me know
if you want me to change authorship or tags or whatever in any way..

Brian

[1] https://lore.kernel.org/linux-fsdevel/YqoJ+p83dLOcGfwX@casper.infradead.org/

Brian Foster (3):
  pid: replace pidmap_lock with xarray lock
  pid: split cyclic id allocation cursor from idr
  pid: switch pid_namespace from idr to xarray

 arch/powerpc/platforms/cell/spufs/sched.c |   2 +-
 fs/proc/loadavg.c                         |   2 +-
 include/linux/pid_namespace.h             |   9 +-
 include/linux/threads.h                   |   2 +-
 init/main.c                               |   3 +-
 kernel/pid.c                              | 133 +++++++++++-----------
 kernel/pid_namespace.c                    |  23 ++--
 7 files changed, 85 insertions(+), 89 deletions(-)