[PATCH 0/4] Replace PID bitmap with IDR API implementation

From: Gargi Sharma
Date: Mon Sep 25 2017 - 08:56:43 EST


This patch series replaces kernel bitmap implementation of PID allocation
with IDR API.

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
3381 304 0 3717 e65 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
2870 216 16 3102 c1e kernel/pid_namespace.o

There wasn't a considerable difference between the time required for
allocation of PIDs to the processes. The IDR implementation is a little faster
than bitmap implementation.

Gargi Sharma (4):
pid: Replace pid bitmap implementation with IDR API
idr: Add a function idr_get()
pid.c: Replace pidhash lookup with idr_get()
pid: Remove pidhash

arch/powerpc/platforms/cell/spufs/sched.c | 2 +-
fs/proc/loadavg.c | 2 +-
include/linux/idr.h | 1 +
include/linux/init_task.h | 1 -
include/linux/pid.h | 2 -
include/linux/pid_namespace.h | 16 +-
init/main.c | 3 +-
kernel/fork.c | 2 +-
kernel/pid.c | 241 +++++-------------------------
kernel/pid_namespace.c | 45 +++---
lib/idr.c | 11 ++
11 files changed, 78 insertions(+), 248 deletions(-)

--
2.7.4