Pavel Emelianov
baf8f0f82d
pid namespaces: dynamic kmem cache allocator for pid namespaces
...
Add kmem_cache to pid_namespace to allocate pids from.
Since both implementations expand the struct pid to carry more numerical
values each namespace should have separate cache to store pids of different
sizes.
Each kmem cache is name "pid_<NR>", where <NR> is the number of numerical ids
on the pid. Different namespaces with same level of nesting will have same
caches.
This patch has two FIXMEs that are to be fixed after we reach the consensus
about the struct pid itself.
The first one is that the namespace to free the pid from in free_pid() must be
taken from pid. Now the init_pid_ns is used.
The second FIXME is about the cache allocation. When we do know how long the
object will be then we'll have to calculate this size in create_pid_cachep.
Right now the sizeof(struct pid) value is used.
[akpm@linux-foundation.org: coding-style repair]
Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Acked-by: Cedric Le Goater <clg@fr.ibm.com>
Acked-by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Kirill Korotaev <dev@openvz.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-19 11:53:37 -07:00
..
irq
Compile handle_percpu_irq even for uniprocessor kernels
2007-10-17 08:43:00 -07:00
power
Hibernation: Enter platform hibernation state in a consistent way
2007-10-18 14:37:20 -07:00
time
x86: C1E late detection fix. Really switch off lapic timer
2007-10-17 20:15:13 +02:00
.gitignore
acct.c
whitespace fixes: process accounting
2007-10-18 14:37:24 -07:00
audit.c
whitespace fixes: system auditing
2007-10-18 14:37:25 -07:00
audit.h
auditfilter.c
whitespace fixes: audit filtering
2007-10-18 14:37:24 -07:00
auditsc.c
whitespace fixes: syscall auditing
2007-10-18 14:37:25 -07:00
capability.c
whitespace fixes: capability syscalls
2007-10-18 14:37:25 -07:00
cgroup.c
Add cgroupstats
2007-10-19 11:53:36 -07:00
cgroup_debug.c
Task Control Groups: simple task cgroup debug info subsystem
2007-10-19 11:53:36 -07:00
compat.c
Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt
2007-10-18 15:12:41 -07:00
configs.c
cpu.c
cpu hotplug: cpu: deliver CPU_UP_CANCELED only to NOTIFY_OKed callbacks with CPU_UP_PREPARE
2007-10-18 14:37:21 -07:00
cpu_acct.c
Task Control Groups: example CPU accounting subsystem
2007-10-19 11:53:36 -07:00
cpuset.c
Task Control Groups: make cpusets a client of cgroups
2007-10-19 11:53:36 -07:00
delayacct.c
Add scaled time to taskstats based process accounting
2007-10-18 14:37:28 -07:00
dma.c
whitespace fixes: DMA channel allocator
2007-10-18 14:37:24 -07:00
exec_domain.c
whitespace fixes: execution domains
2007-10-18 14:37:26 -07:00
exit.c
pid namespaces: round up the API
2007-10-19 11:53:37 -07:00
extable.c
fork.c
pid namespaces: round up the API
2007-10-19 11:53:37 -07:00
futex.c
sparse pointer use of zero as null
2007-10-18 14:37:31 -07:00
futex_compat.c
robust futex thread exit race
2007-10-01 07:52:23 -07:00
hrtimer.c
hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier
2007-10-18 22:54:18 +02:00
itimer.c
whitespace fixes: interval timers
2007-10-18 14:37:26 -07:00
kallsyms.c
Kconfig.hz
Kconfig.preempt
Move PREEMPT_NOTIFIERS into an always-included Kconfig
2007-10-17 08:42:55 -07:00
kexec.c
sparse pointer use of zero as null
2007-10-18 14:37:31 -07:00
kfifo.c
kmod.c
Restore call_usermodehelper_pipe() behaviour
2007-09-11 17:21:20 -07:00
kprobes.c
kprobes: support kretprobe blacklist
2007-10-16 09:43:10 -07:00
ksysfs.c
add-vmcore: cleanup the coding style according to Andrew's comments
2007-10-17 08:42:54 -07:00
kthread.c
kthread: silence bogus section mismatch warning
2007-07-31 15:39:42 -07:00
latency.c
lockdep.c
lockdep: syscall exit check
2007-10-11 22:11:12 +02:00
lockdep_internals.h
lockdep_proc.c
lockdep: Avoid /proc/lockdep & lock_stat infinite output
2007-10-11 22:11:11 +02:00
Makefile
cgroups: implement namespace tracking subsystem
2007-10-19 11:53:37 -07:00
module.c
whitespace fixes: module loading
2007-10-18 14:37:25 -07:00
mutex-debug.c
mutex-debug.h
mutex.c
lockdep: fixup mutex annotations
2007-10-11 22:11:12 +02:00
mutex.h
notifier.c
Add kernel/notifier.c
2007-10-19 11:53:34 -07:00
ns_cgroup.c
cgroups: implement namespace tracking subsystem
2007-10-19 11:53:37 -07:00
nsproxy.c
cgroups: implement namespace tracking subsystem
2007-10-19 11:53:37 -07:00
panic.c
whitespace fixes: panic handling
2007-10-18 14:37:25 -07:00
params.c
param_sysfs_builtin memchr argument fix
2007-10-18 14:37:21 -07:00
pid.c
pid namespaces: dynamic kmem cache allocator for pid namespaces
2007-10-19 11:53:37 -07:00
posix-cpu-timers.c
posix-timers.c
hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier
2007-10-18 22:54:18 +02:00
printk.c
serial: turn serial console suspend a boot rather than compile time option
2007-10-18 14:37:19 -07:00
profile.c
make kernel/profile.c:time_hook static
2007-10-17 08:42:55 -07:00
ptrace.c
m32r: convert to generic sys_ptrace
2007-10-16 09:43:04 -07:00
rcupdate.c
Clean up duplicate includes in kernel/
2007-10-17 08:42:48 -07:00
rcutorture.c
Make rcutorture RNG use temporal entropy
2007-10-17 08:42:53 -07:00
relay.c
whitespace fixes: relayfs
2007-10-18 14:37:24 -07:00
resource.c
memory unplug: memory hotplug cleanup
2007-10-16 09:43:01 -07:00
rtmutex-debug.c
kernel/rtmutex-debug.c: cleanups
2007-10-17 08:42:50 -07:00
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
Task Control Groups: example CPU accounting subsystem
2007-10-19 11:53:36 -07:00
sched_debug.c
sched: reduce schedstat variable overhead a bit
2007-10-18 21:32:56 +02:00
sched_fair.c
sched: fix new task startup crash
2007-10-17 16:55:11 +02:00
sched_idletask.c
sched: mark scheduling classes as const
2007-10-15 17:00:12 +02:00
sched_rt.c
sched: tidy up SCHED_RR
2007-10-15 17:00:13 +02:00
sched_stats.h
sched: reduce schedstat variable overhead a bit
2007-10-18 21:32:56 +02:00
seccomp.c
signal.c
pid namespaces: round up the API
2007-10-19 11:53:37 -07:00
softirq.c
[KERNEL]: Unexport raise_softirq_irqoff
2007-10-10 16:49:18 -07:00
softlockup.c
softlockup: add a /proc tuning parameter
2007-10-17 08:42:47 -07:00
spinlock.c
srcu.c
stacktrace.c
stop_machine.c
sys.c
pid namespaces: round up the API
2007-10-19 11:53:37 -07:00
sys_ni.c
kernel/sys_ni.c: add dummy sys_ni_syscall() prototype
2007-10-17 08:42:55 -07:00
sysctl.c
V3 file capabilities: alter behavior of cap_setpcap
2007-10-18 14:37:24 -07:00
sysctl_check.c
V3 file capabilities: alter behavior of cap_setpcap
2007-10-18 14:37:24 -07:00
taskstats.c
Add cgroupstats
2007-10-19 11:53:36 -07:00
time.c
whitespace fixes: time syscalls
2007-10-18 14:37:24 -07:00
timer.c
Add scaled time to taskstats based process accounting
2007-10-18 14:37:28 -07:00
tsacct.c
Add scaled time to taskstats based process accounting
2007-10-18 14:37:28 -07:00
uid16.c
user.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
2007-10-17 09:11:18 -07:00
user_namespace.c
Fix user namespace exiting OOPs
2007-09-19 11:24:18 -07:00
utsname.c
Fix UTS corruption during clone(CLONE_NEWUTS)
2007-09-19 11:24:17 -07:00
utsname_sysctl.c
wait.c
workqueue.c
fix bogus hotplug cpu warning
2007-08-27 10:27:48 -07:00