linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Brian Foster <bfoster@redhat.com>
To: linux-kernel@vger.kernel.org, linux-mm@kvack.org
Cc: Matthew Wilcox <willy@infradead.org>, ikent@redhat.com, oleg@redhat.com
Subject: [PATCH 0/3] pid: replace idr api with xarray
Date: Fri, 15 Jul 2022 07:33:46 -0400	[thread overview]
Message-ID: <20220715113349.831370-1-bfoster@redhat.com> (raw)

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(-)

-- 
2.35.3



             reply	other threads:[~2022-07-15 11:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-15 11:33 Brian Foster [this message]
2022-07-15 11:33 ` [PATCH 1/3] pid: replace pidmap_lock with xarray lock Brian Foster
2022-07-15 11:33 ` [PATCH 2/3] pid: split cyclic id allocation cursor from idr Brian Foster
2022-07-15 11:33 ` [PATCH 3/3] pid: switch pid_namespace from idr to xarray Brian Foster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220715113349.831370-1-bfoster@redhat.com \
    --to=bfoster@redhat.com \
    --cc=ikent@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=oleg@redhat.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).