kernel-ark/kernel
Eric W. Biederman c18258c6f0 [PATCH] pid: Implement transfer_pid and use it to simplify de_thread
In de_thread we move pids from one process to another, a rather ugly case.
The function transfer_pid makes it clear what we are doing, and makes the
action atomic.  This is useful we ever want to atomically traverse the
process group and session lists, in a rcu safe manner.

Even if the atomic properties this change should be a win as transfer_pid
should be less code to execute than executing both attach_pid and
detach_pid, and this should make de_thread slightly smaller as only a
single function call needs to be emitted.  The only downside is that the
code might be slower to execute as the odds are against transfer_pid being
in cache.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-27 08:26:19 -07:00
..
irq [PATCH] FRV: permit __do_IRQ() to be dispensed with 2006-09-26 08:48:53 -07:00
power Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-09-26 11:49:46 -07:00
time
.gitignore
acct.c
audit.c [PATCH] selinux: rename selinux_ctxid_to_string 2006-09-26 08:48:52 -07:00
audit.h [PATCH] audit: AUDIT_PERM support 2006-09-11 13:32:30 -04:00
auditfilter.c [PATCH] selinux: rename selinux_ctxid_to_string 2006-09-26 08:48:52 -07:00
auditsc.c [PATCH] selinux: rename selinux_ctxid_to_string 2006-09-26 08:48:52 -07:00
capability.c
compat.c
configs.c
cpu.c [PATCH] Disable CPU hotplug during suspend 2006-09-26 08:48:59 -07:00
cpuset.c [PATCH] inode-diet: Eliminate i_blksize from the inode structure 2006-09-27 08:26:18 -07:00
delayacct.c
dma.c
exec_domain.c
exit.c
extable.c
fork.c [PATCH] Add the canary field to the PDA area and the task struct 2006-09-26 10:52:38 +02:00
futex_compat.c
futex.c [PATCH] Use the correct restart option for futex_lock_pi 2006-09-08 10:22:50 -07:00
hrtimer.c
itimer.c
kallsyms.c
Kconfig.hz
Kconfig.preempt
kexec.c
kfifo.c
kmod.c [PATCH] bug fix in kernel/kmod.c 2006-09-16 12:54:32 -07:00
kprobes.c
ksysfs.c
kthread.c
lockdep_internals.h [PATCH] lockdep: double the number of stack-trace entries 2006-09-13 07:32:14 -07:00
lockdep_proc.c
lockdep.c [PATCH] Avoid recursion in lockdep when stack tracer takes locks 2006-09-26 10:52:34 +02:00
Makefile
module.c [PATCH] load_module: no BUG if module_subsys uninitialized 2006-09-25 17:38:36 -07:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
panic.c [PATCH] Add the __stack_chk_fail() function 2006-09-26 10:52:39 +02:00
params.c
pid.c [PATCH] pid: Implement transfer_pid and use it to simplify de_thread 2006-09-27 08:26:19 -07:00
posix-cpu-timers.c
posix-timers.c
printk.c [PATCH] PM: make it possible to disable console suspending 2006-09-26 08:49:03 -07:00
profile.c [PATCH] Profiling: require buffer allocation on the correct node 2006-09-26 08:48:50 -07:00
ptrace.c [PATCH] NOMMU: Check that access_process_vm() has a valid target 2006-09-27 08:26:14 -07:00
rcupdate.c [PATCH] rcu_do_batch: make ->qlen decrement irq safe 2006-09-13 07:32:14 -07:00
rcutorture.c
relay.c [PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private 2006-09-27 08:26:17 -07:00
resource.c Resources: insert identical resources above existing resources 2006-09-26 17:43:52 -07:00
rtmutex_common.h
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutex.h
rwsem.c
sched.c [PATCH] Fix longstanding load balancing bug in the scheduler 2006-09-26 08:48:43 -07:00
seccomp.c
signal.c [PATCH] NOMMU: move the fallback arch_vma_name() to a sensible place 2006-09-27 08:26:15 -07:00
softirq.c
softlockup.c
spinlock.c [PATCH] i386: Account spinlocks to the caller during profiling for !FP kernels 2006-09-26 10:52:28 +02:00
stacktrace.c
stop_machine.c
sys_ni.c
sys.c [PATCH] x86: Add portable getcpu call 2006-09-26 10:52:28 +02:00
sysctl.c [PATCH] sysctl: Allow /proc/sys without sys_sysctl 2006-09-27 08:26:19 -07:00
taskstats.c [NETLINK]: Extend netlink messaging interface 2006-09-22 14:53:43 -07:00
time.c
timer.c
uid16.c
unwind.c [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder 2006-09-26 10:52:41 +02:00
user.c
wait.c
workqueue.c