diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2007-10-19 02:40:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-19 14:53:41 -0400 |
commit | 2f2a3a46fcafa7a12d61454f67f932dfe7d84c60 (patch) | |
tree | cd4fe3aed382a0557cdfb9fa0b7a3b950a01a767 | |
parent | 8990571eb573032c1192440febb17132074c5575 (diff) |
Uninline the task_xid_nr_ns() calls
Since these are expanded into call to pid_nr_ns() anyway, it's OK to move
the whole routine out-of-line. This is a cheap way to save ~100 bytes from
vmlinux. Together with the previous two patches, it saves half-a-kilo from
the vmlinux.
Un-inline other (currently inlined) functions must be done with additional
performance testing.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Cc: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Paul Menage <menage@google.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/sched.h | 24 | ||||
-rw-r--r-- | kernel/pid.c | 24 |
2 files changed, 28 insertions, 20 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index eb2ae68804aa..cbd8731a66e6 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1243,11 +1243,7 @@ static inline pid_t task_pid_nr(struct task_struct *tsk) | |||
1243 | return tsk->pid; | 1243 | return tsk->pid; |
1244 | } | 1244 | } |
1245 | 1245 | ||
1246 | static inline pid_t task_pid_nr_ns(struct task_struct *tsk, | 1246 | pid_t task_pid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns); |
1247 | struct pid_namespace *ns) | ||
1248 | { | ||
1249 | return pid_nr_ns(task_pid(tsk), ns); | ||
1250 | } | ||
1251 | 1247 | ||
1252 | static inline pid_t task_pid_vnr(struct task_struct *tsk) | 1248 | static inline pid_t task_pid_vnr(struct task_struct *tsk) |
1253 | { | 1249 | { |
@@ -1260,11 +1256,7 @@ static inline pid_t task_tgid_nr(struct task_struct *tsk) | |||
1260 | return tsk->tgid; | 1256 | return tsk->tgid; |
1261 | } | 1257 | } |
1262 | 1258 | ||
1263 | static inline pid_t task_tgid_nr_ns(struct task_struct *tsk, | 1259 | pid_t task_tgid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns); |
1264 | struct pid_namespace *ns) | ||
1265 | { | ||
1266 | return pid_nr_ns(task_tgid(tsk), ns); | ||
1267 | } | ||
1268 | 1260 | ||
1269 | static inline pid_t task_tgid_vnr(struct task_struct *tsk) | 1261 | static inline pid_t task_tgid_vnr(struct task_struct *tsk) |
1270 | { | 1262 | { |
@@ -1277,11 +1269,7 @@ static inline pid_t task_pgrp_nr(struct task_struct *tsk) | |||
1277 | return tsk->signal->pgrp; | 1269 | return tsk->signal->pgrp; |
1278 | } | 1270 | } |
1279 | 1271 | ||
1280 | static inline pid_t task_pgrp_nr_ns(struct task_struct *tsk, | 1272 | pid_t task_pgrp_nr_ns(struct task_struct *tsk, struct pid_namespace *ns); |
1281 | struct pid_namespace *ns) | ||
1282 | { | ||
1283 | return pid_nr_ns(task_pgrp(tsk), ns); | ||
1284 | } | ||
1285 | 1273 | ||
1286 | static inline pid_t task_pgrp_vnr(struct task_struct *tsk) | 1274 | static inline pid_t task_pgrp_vnr(struct task_struct *tsk) |
1287 | { | 1275 | { |
@@ -1294,11 +1282,7 @@ static inline pid_t task_session_nr(struct task_struct *tsk) | |||
1294 | return tsk->signal->__session; | 1282 | return tsk->signal->__session; |
1295 | } | 1283 | } |
1296 | 1284 | ||
1297 | static inline pid_t task_session_nr_ns(struct task_struct *tsk, | 1285 | pid_t task_session_nr_ns(struct task_struct *tsk, struct pid_namespace *ns); |
1298 | struct pid_namespace *ns) | ||
1299 | { | ||
1300 | return pid_nr_ns(task_session(tsk), ns); | ||
1301 | } | ||
1302 | 1286 | ||
1303 | static inline pid_t task_session_vnr(struct task_struct *tsk) | 1287 | static inline pid_t task_session_vnr(struct task_struct *tsk) |
1304 | { | 1288 | { |
diff --git a/kernel/pid.c b/kernel/pid.c index 8040533d1a04..d1db36b94674 100644 --- a/kernel/pid.c +++ b/kernel/pid.c | |||
@@ -443,6 +443,30 @@ pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns) | |||
443 | return nr; | 443 | return nr; |
444 | } | 444 | } |
445 | 445 | ||
446 | pid_t task_pid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) | ||
447 | { | ||
448 | return pid_nr_ns(task_pid(tsk), ns); | ||
449 | } | ||
450 | EXPORT_SYMBOL(task_pid_nr_ns); | ||
451 | |||
452 | pid_t task_tgid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) | ||
453 | { | ||
454 | return pid_nr_ns(task_tgid(tsk), ns); | ||
455 | } | ||
456 | EXPORT_SYMBOL(task_tgid_nr_ns); | ||
457 | |||
458 | pid_t task_pgrp_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) | ||
459 | { | ||
460 | return pid_nr_ns(task_pgrp(tsk), ns); | ||
461 | } | ||
462 | EXPORT_SYMBOL(task_pgrp_nr_ns); | ||
463 | |||
464 | pid_t task_session_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) | ||
465 | { | ||
466 | return pid_nr_ns(task_session(tsk), ns); | ||
467 | } | ||
468 | EXPORT_SYMBOL(task_session_nr_ns); | ||
469 | |||
446 | /* | 470 | /* |
447 | * Used by proc to find the first pid that is greater then or equal to nr. | 471 | * Used by proc to find the first pid that is greater then or equal to nr. |
448 | * | 472 | * |