Commit caafa432 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Linus Torvalds

pidns: make pid->level and pid_ns->level unsigned

These values represent the nesting level of a namespace and pids living in it,
and it's always non-negative.

Turning this from int to unsigned int saves some space in pid.c (11 bytes on
x86 and 64 on ia64) by letting the compiler optimize the pid_nr_ns a bit.
E.g.  on ia64 this removes the sign extension calls, which compiler adds to
optimize access to pid->nubers[ns->level].
Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent ab883af5
...@@ -60,7 +60,7 @@ struct pid ...@@ -60,7 +60,7 @@ struct pid
/* lists of tasks that use this pid */ /* lists of tasks that use this pid */
struct hlist_head tasks[PIDTYPE_MAX]; struct hlist_head tasks[PIDTYPE_MAX];
struct rcu_head rcu; struct rcu_head rcu;
int level; unsigned int level;
struct upid numbers[1]; struct upid numbers[1];
}; };
......
...@@ -20,7 +20,7 @@ struct pid_namespace { ...@@ -20,7 +20,7 @@ struct pid_namespace {
int last_pid; int last_pid;
struct task_struct *child_reaper; struct task_struct *child_reaper;
struct kmem_cache *pid_cachep; struct kmem_cache *pid_cachep;
int level; unsigned int level;
struct pid_namespace *parent; struct pid_namespace *parent;
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
struct vfsmount *proc_mnt; struct vfsmount *proc_mnt;
......
...@@ -66,7 +66,7 @@ static struct kmem_cache *create_pid_cachep(int nr_ids) ...@@ -66,7 +66,7 @@ static struct kmem_cache *create_pid_cachep(int nr_ids)
return NULL; return NULL;
} }
static struct pid_namespace *create_pid_namespace(int level) static struct pid_namespace *create_pid_namespace(unsigned int level)
{ {
struct pid_namespace *ns; struct pid_namespace *ns;
int i; int i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment