|
|
Subscribe / Log in / New account

Replace PID implementation with IDR API

From:  Gargi Sharma <gs051095-AT-gmail.com>
To:  linux-kernel-AT-vger.kernel.org
Subject:  [RFC 0/2] Replace PID implementation with IDR API
Date:  Sat, 9 Sep 2017 18:03:15 +0530
Message-ID:  <cover.1504952909.git.gs051095@gmail.com>
Cc:  riel-AT-surriel.com, julia.lawall-AT-lip6.fr, akpm-AT-linux-foundation.org, mingo-AT-kernel.org, pasha.tatashin-AT-oracle.com, ktkhai-AT-virtuozzo.com, oleg-AT-redhat.com, wangkefeng.wang-AT-huawei.org, Gargi Sharma <gs051095-AT-gmail.com>

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
   3602        324          8       3934        f5e    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
   2858        216         16       3090        c12    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.

The next change in the pipeline is replacing pidhash with IDR API implementation.

Gargi Sharma (2):
  proc: Return if nothing to unmount
  pid: Replace PID bitmap implementation with IDR API

 fs/proc/base.c                |   4 +
 include/linux/pid.h           |   1 +
 include/linux/pid_namespace.h |   5 +-
 init/main.c                   |   4 +-
 kernel/pid.c                  | 204 ++++++++----------------------------------
 kernel/pid_namespace.c        |  39 ++++----
 6 files changed, 63 insertions(+), 194 deletions(-)

-- 
2.7.4



Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds