Messages in this thread | | | Date | Tue, 10 Jan 2006 15:28:11 +0530 | From | Srivatsa Vaddagiri <> | Subject | Re: [PATCH 2/5] rcu: don't check ->donelist in __rcu_pending() |
| |
On Mon, Jan 09, 2006 at 11:59:33AM -0800, Paul E. McKenney wrote: > Hmmm... So your thought is that __rcu_offline_cpu() moves nxtlist and > curlist, but not donelist, but then returns to rcu_offline_cpu(), which > might well do the tasklet_kill_immediate() before the tasklet completed > processing all of donelist. > > Seems plausible to me. If true, your patch adding the following statement > to the ed of __rcu_offline_cpu seems like a reasonable fix: > > rcu_move_batch(this_rdp, rdp->donelist, rdp->donetail); > > Vatsa, is there something that Oleg and I are missing?
I think this should take care of the CPU Hotplug bug, with the caveat that the callbacks on ->donelist will wait for additional grace period before being invoked (which seems ok).
Oleg, do you want to resend the patch after some testing?
- vatsa - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |