linux/kernel
Oleg Nesterov a9c828155a [PATCH] rcu: fix hotplug-cpu ->donelist leak
Pointed out by Srivatsa Vaddagiri <vatsa@in.ibm.com>.

rcu_do_batch() stops after processing maxbatch callbacks
on ->donelist leaving rcu_tasklet in TASKLET_STATE_SCHED
state.

If CPU_DEAD event happens remaining ->donelist entries are
lost, rcu_offline_cpu() kills this tasklet.

With this patch ->donelist migrates along with ->curlist
and ->nxtlist to the current cpu.

Compile tested.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Paul E. McKenney <paulmck@us.ibm.com>
Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-10 08:49:47 -08:00
..
irq [PATCH] kernel/: small cleanups 2006-01-08 20:13:48 -08:00
power [PATCH] swsusp: save image header first 2006-01-06 08:33:43 -08:00
.gitignore gitignore: ignore more generated files 2006-01-03 11:35:26 +01:00
acct.c [PATCH] s390: cputime_t fixes 2006-01-06 08:33:49 -08:00
audit.c [PATCH] kernel/: small cleanups 2006-01-08 20:13:48 -08:00
auditsc.c [PATCH] gfp_t: kernel/* 2005-10-28 08:16:49 -07:00
capability.c
compat.c [PATCH] common compat_sys_timer_create 2006-01-10 08:01:32 -08:00
configs.c update the email address of Randy Dunlap 2006-01-03 13:37:51 +01:00
cpu.c [PATCH] clean up lock_cpu_hotplug() in cpufreq 2005-11-28 14:42:23 -08:00
cpuset.c [PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem 2006-01-09 15:59:24 -08:00
dma.c
exec_domain.c
exit.c [PATCH] Decrease number of pointer derefs in exit.c 2006-01-10 08:02:01 -08:00
extable.c
fork.c [PATCH] hrtimer: switch itimers to hrtimer 2006-01-10 08:01:38 -08:00
futex.c [PATCH] FRV: Make futex code compilable on nommu [try #2] 2006-01-06 08:33:33 -08:00
hrtimer.c [PATCH] Export ktime_get_ts() 2006-01-10 08:01:39 -08:00
intermodule.c
itimer.c [PATCH] hrtimer: switch itimers to hrtimer 2006-01-10 08:01:38 -08:00
kallsyms.c [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
Kconfig.hz
Kconfig.preempt
kexec.c [PATCH] kdump: save registers early (inline functions) 2006-01-10 08:01:27 -08:00
kfifo.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
kmod.c [PATCH] Keys: Get rid of warning in kmod.c if keys disabled 2005-10-30 17:37:23 -08:00
kprobes.c [PATCH] Kprobes: conversion from kcalloc to kzalloc 2006-01-10 08:01:41 -08:00
ksysfs.c [PATCH] kdump: export per cpu crash notes pointer through sysfs 2006-01-10 08:01:26 -08:00
kthread.c [PATCH] Add kthread_stop_sem() 2005-10-30 17:37:17 -08:00
Makefile [PATCH] hrtimer: hrtimer core code 2006-01-10 08:01:37 -08:00
module.c [PATCH] kernel/module.c: remove redundant spinlock in resolve_symbol() 2006-01-08 20:14:04 -08:00
mutex-debug.c [PATCH] mutex subsystem, debugging code 2006-01-09 15:59:20 -08:00
mutex-debug.h [PATCH] mutex subsystem, debugging code 2006-01-09 15:59:20 -08:00
mutex.c [PATCH] mutex subsystem, core 2006-01-09 15:59:19 -08:00
mutex.h [PATCH] mutex subsystem, core 2006-01-09 15:59:19 -08:00
panic.c [PATCH] s390: cleanup Kconfig 2006-01-06 08:33:53 -08:00
params.c [PATCH] kernel/params.c: fix sysfs access with CONFIG_MODULES=n 2005-12-20 10:31:33 -08:00
pid.c [PATCH] RCU signal handling 2006-01-08 20:13:40 -08:00
posix-cpu-timers.c [PATCH] hrtimer: switch clock_nanosleep to hrtimer nanosleep API 2006-01-10 08:01:38 -08:00
posix-timers.c [PATCH] hrtimer: convert posix timers completely 2006-01-10 08:01:39 -08:00
printk.c [PATCH] printk return value: fix it 2006-01-08 20:13:52 -08:00
profile.c
ptrace.c [PATCH] use ptrace_get_task_struct in various places 2006-01-08 20:13:51 -08:00
rcupdate.c [PATCH] rcu: fix hotplug-cpu ->donelist leak 2006-01-10 08:49:47 -08:00
rcutorture.c [PATCH] Extend RCU torture module to test tickless idle CPU 2006-01-08 20:13:59 -08:00
resource.c [PATCH] kernel/resource.c: __check_region(): remove pointless __deprecated 2006-01-10 08:02:02 -08:00
sched.c [PATCH] mutex subsystem, more debugging code 2006-01-09 15:59:21 -08:00
seccomp.c
signal.c [PATCH] remove unneeded sig->curr_target recalculation 2006-01-08 20:13:57 -08:00
softirq.c [PATCH] cpu hoptlug: avoid usage of smp_processor_id() in preemptible code 2005-11-07 07:53:29 -08:00
softlockup.c [PATCH] quieten softlockup at boot 2005-11-09 07:55:50 -08:00
spinlock.c [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
stop_machine.c [PATCH] Remove set_fs() in stop_machine() 2006-01-10 08:01:25 -08:00
sys.c [PATCH] simplify k_getrusage() 2006-01-08 20:14:09 -08:00
sys_ni.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge 2006-01-09 10:03:44 -08:00
sysctl.c [PATCH] Make high and batch sizes of per_cpu_pagelists configurable 2006-01-08 20:12:40 -08:00
time.c [PATCH] Remove getnstimestamp() 2006-01-10 08:01:39 -08:00
timer.c [PATCH] hrtimer: switch sys_nanosleep to hrtimer 2006-01-10 08:01:38 -08:00
uid16.c
user.c
wait.c
workqueue.c [PATCH] fix workqueue oops during cpu offline 2006-01-08 20:14:08 -08:00