![]() | ||||||||||
Messages in this thread |
On Mon, Oct 17, 2005 at 08:42:05AM -0700, Linus Torvalds wrote: > > On Mon, 17 Oct 2005, Dipankar Sarma wrote: > > > This I am not sure, it is Linus' call. I am just trying to do the > > right thing - fix the real problem. > > It sure looks like the batch limiter is the fundamental problem. > > Instead of limiting the batching, we should likely try to avoid the RCU > lists getting huge in the first place - ie do the RCU callback processing > more often if the list is getting longer. > > So I suspect that the _real_ fix is: > > - for 2.6.14: remove the batching limig (or just make it much higher for > now) You can remove the batching limit by making maxbatch = 0 by default. Just a one line patch. > - post-14: work on making sure rcu callbacks are done in a more timely > manner when the rcu queue gets long. This would involve TIF_RCUPENDING > and whatever else to make sure that we have timely quiescent periods, > and we do the RCU callback tasklet more often if the queue is long. Yes, I am already looking at this. There are a number approaches to this include adaptive algorithm to cater to naughty corner cases and/or adding different ways to handle RCU as in tree. I hope to experiment with these incrementally after 2.6.14 over a period of time and see what works best for most people. Thanks Dipankar - 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/ | |||||||||
| Last update: 2005-10-17 16:29 [from the cache] ©2003-2008 | ||||||||||