From: Gargi Sharma <gs051095@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: riel@surriel.com, julia.lawall@lip6.fr,
akpm@linux-foundation.org, mingo@kernel.org,
pasha.tatashin@oracle.com, ktkhai@virtuozzo.com, oleg@redhat.com,
ebiederm@xmission.com, hch@infradead.org,
Gargi Sharma <gs051095@gmail.com>
Subject: [PATCH v4 0/2] Replacing PID bitmap implementation with IDR API
Date: Mon, 9 Oct 2017 17:13:42 -0400 [thread overview]
Message-ID: <1507583624-22146-1-git-send-email-gs051095@gmail.com> (raw)
This patch series replaces kernel bitmap implementation of PID allocation
with IDR API. These patches are written to simplify the kernel by replacing custom code with calls to generic code.
The following are the stats for pid and pid_namespace object files
before and after the replacement. There is a noteworthy change between
the IDR and bitmap implementation.
Before
text data bss dec hex filename
8447 3894 64 12405 3075 kernel/pid.o
After
text data bss dec hex filename
3397 304 0 3701 e75 kernel/pid.o
Before
text data bss dec hex filename
5692 1842 192 7726 1e2e kernel/pid_namespace.o
After
text data bss dec hex filename
2854 216 16 3086 c0e kernel/pid_namespace.o
The following are the stats for ps, pstree and calling readdir on /proc
for 10,000 processes.
ps:
With IDR API With bitmap
real 0m1.479s 0m2.319s
user 0m0.070s 0m0.060s
sys 0m0.289s 0m0.516s
pstree:
With IDR API With bitmap
real 0m1.024s 0m1.794s
user 0m0.348s 0m0.612s
sys 0m0.184s 0m0.264s
proc:
With IDR API With bitmap
real 0m0.059s 0m0.074s
user 0m0.000s 0m0.004s
sys 0m0.016s 0m0.016s
---
Changes in v4:
- Make comments for alloc_pid clearer.
Changes in v3:
- Replace idr_next with idr_get_cursor().
- Correct pid_alloc so that find_pid_ns can't
find not completely allocated pids.
Changes in v2:
- Removed redundant IDR function that was introduced
in the previous patchset.
- Renamed PIDNS_HASH_ADDING
- Used idr_for_each_entry_continue()
- Used idr_find() to lookup pids
Gargi Sharma (2):
pid: Replace pid bitmap implementation with IDR API
pid: Remove pidhash
arch/powerpc/platforms/cell/spufs/sched.c | 2 +-
fs/proc/loadavg.c | 2 +-
include/linux/init_task.h | 1 -
include/linux/pid.h | 2 -
include/linux/pid_namespace.h | 18 +--
init/main.c | 3 +-
kernel/fork.c | 2 +-
kernel/pid.c | 245 ++++++------------------------
kernel/pid_namespace.c | 48 ++----
9 files changed, 68 insertions(+), 255 deletions(-)
--
2.7.4
next reply other threads:[~2017-10-09 21:14 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-09 21:13 Gargi Sharma [this message]
2017-10-09 21:13 ` [PATCH v4 1/2] pid: Replace pid bitmap implementation with IDR API Gargi Sharma
2017-10-09 23:17 ` Andrew Morton
2017-10-10 11:50 ` Oleg Nesterov
2017-10-10 12:35 ` Gargi Sharma
2017-10-10 14:15 ` Oleg Nesterov
2017-10-10 15:46 ` Rik van Riel
2017-10-10 16:11 ` Gargi Sharma
2017-10-10 17:51 ` Rik van Riel
2017-10-10 13:44 ` Rik van Riel
2017-10-09 21:13 ` [PATCH v4 2/2] pid: Remove pidhash Gargi Sharma
2017-10-11 9:47 ` kbuild test robot
2017-10-11 14:15 ` Rik van Riel
2017-10-11 21:22 ` Luck, Tony
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=1507583624-22146-1-git-send-email-gs051095@gmail.com \
--to=gs051095@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=hch@infradead.org \
--cc=julia.lawall@lip6.fr \
--cc=ktkhai@virtuozzo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=pasha.tatashin@oracle.com \
--cc=riel@surriel.com \
/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).