From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935434AbdIYM4l (ORCPT ); Mon, 25 Sep 2017 08:56:41 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:36023 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934676AbdIYM4j (ORCPT ); Mon, 25 Sep 2017 08:56:39 -0400 X-Google-Smtp-Source: AOwi7QDPR89Y8daWtGJPVZyJlF+7YD6XiIgqV4JmEnI10/2/aTRhP2hcmcKudyPEz9pFGfjoRUwDWQ== From: Gargi Sharma 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, Gargi Sharma Subject: [PATCH 0/4] Replace PID bitmap with IDR API implementation Date: Mon, 25 Sep 2017 08:56:14 -0400 Message-Id: X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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