linux-stable-rt/kernel
Roland McGrath 25f407f0b6 [PATCH] Call exit_itimers from do_exit, not __exit_signal
When I originally moved exit_itimers into __exit_signal, that was the only
place where we could reliably know it was the last thread in the group
dying, without races.  Since then we've gotten the signal_struct.live
counter, and do_exit can reliably do group-wide cleanup work.

This patch moves the call to do_exit, where it's made without locks.  This
avoids the deadlock issues that the old __exit_signal code's comment talks
about, and the one that Oleg found recently with process CPU timers.

[ This replaces e03d13e985, which is why
  it was just reverted. ]

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-21 15:38:08 -07:00
..
irq [PATCH] CHECK_IRQ_PER_CPU() to avoid dead code in __do_IRQ() 2005-09-07 16:57:29 -07:00
power [PATCH] x86_64: Set up safe page tables during resume 2005-10-10 08:36:46 -07:00
Kconfig.hz
Kconfig.preempt
Makefile [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
acct.c [PATCH] kernel/acct: add kerneldoc 2005-09-10 10:06:26 -07:00
audit.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
auditsc.c [AUDIT] Allow filtering on system call success _or_ failure 2005-08-27 10:25:43 +01:00
capability.c [PATCH] kernel/capability.c: add kerneldoc 2005-07-27 16:26:06 -07:00
compat.c [PATCH] kernel: fix-up schedule_timeout() usage 2005-09-10 10:06:37 -07:00
configs.c
cpu.c
cpuset.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
crash_dump.c [PATCH] kernel/crash_dump.c: add kerneldoc 2005-07-27 16:26:06 -07:00
dma.c
exec_domain.c
exit.c [PATCH] Call exit_itimers from do_exit, not __exit_signal 2005-10-21 15:38:08 -07:00
extable.c
fork.c [PATCH] Threads shouldn't inherit PF_NOFREEZE 2005-10-19 23:04:31 -07:00
futex.c [PATCH] futex: remove duplicate code 2005-09-07 16:57:33 -07:00
intermodule.c [PATCH] introduce and use kzalloc 2005-09-07 16:57:45 -07:00
itimer.c [PATCH] itimer fixes 2005-07-27 16:25:51 -07:00
kallsyms.c
kexec.c
kfifo.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
kmod.c
kprobes.c [PATCH] kprobes: fix bug when probed on task and isr functions 2005-09-07 16:58:01 -07:00
ksysfs.c
kthread.c
module.c [PATCH] use add_taint() for setting tainted bit flags 2005-09-13 08:22:29 -07:00
panic.c [PATCH] Call emergency_reboot from panic 2005-07-26 14:35:43 -07:00
params.c [PATCH] Ignore trailing whitespace on kernel parameters correctly 2005-09-28 07:46:41 -07:00
pid.c
posix-cpu-timers.c Revert "Fix cpu timers exit deadlock and races" 2005-10-21 15:36:00 -07:00
posix-timers.c [PATCH] Call exit_itimers from do_exit, not __exit_signal 2005-10-21 15:38:08 -07:00
printk.c [PATCH] Add printk_clock() 2005-09-21 10:11:54 -07:00
profile.c
ptrace.c [PATCH] remove duplicated code from proc and ptrace 2005-09-07 16:57:43 -07:00
rcupdate.c [PATCH] rcu: keep rcu callback event counter 2005-10-17 15:27:58 -07:00
resource.c [PATCH] introduce and use kzalloc 2005-09-07 16:57:45 -07:00
sched.c [PATCH] Fix spinlock owner debugging 2005-09-13 09:59:04 -07:00
seccomp.c
signal.c [PATCH] Call exit_itimers from do_exit, not __exit_signal 2005-10-21 15:38:08 -07:00
softirq.c [PATCH] x86-64: Some cleanup and optimization to the processor data area. 2005-09-12 10:49:58 -07:00
softlockup.c [PATCH] detect soft lockups 2005-09-07 16:57:17 -07:00
spinlock.c [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
stop_machine.c
sys.c [PATCH] reboot: comment and factor the main reboot functions 2005-09-22 22:17:33 -07:00
sys_ni.c [PATCH] remove sys_set_zone_reclaim() 2005-08-01 10:03:56 -07:00
sysctl.c [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
time.c [PATCH] Add missing export of getnstimeofday() 2005-10-14 17:10:12 -07:00
timer.c [PATCH] schedule_timeout_[un]interruptible() speedup 2005-09-13 08:22:29 -07:00
uid16.c
user.c
wait.c
workqueue.c [PATCH] introduce and use kzalloc 2005-09-07 16:57:45 -07:00