From: Erik J. <er...@sg...> - 2005-10-28 14:00:16
|
> Are you saying that if our callouts need to block we should be using > the per-task list callouts? I'd like to see some benchmarks to understand the true cost of having an rwsem protecting the global callout so user functions can sleep there too. Not being able to sleep places great restrictions on what can be done. I agree it's nice that the per-task notifiers don't have this restriction, but it would be better if it wasn't there at all. I had done some benchmarking with pnotify, but those weren't global. I've had this feeling in my head that people are being extra-cautious about costly semaphores, which is good. But if we can prove it's nearly free and would allow flexibility and simplicity for users, I think that would be better. We'd still need to keep a watchful eye on any kernel users because it isn't free any more if the users take forever at that callout. One issue I have with RCU is that, while I understand the basics, I sometimes miss a subtle issue I didn't think about. That leads to bugs if nobody else catches them. If an rwsem is nearly free, the ease of use and readability are a big win as far as I'm concerned. If it's costly in terms of performance, I wouldn't be in favor of it :) I can help benchmark this if we can agree on test cases and tools for the benchmark. Probably we'll find it's costly, and then I'll be quiet :) -- Erik Jacobson - Linux System Software - Silicon Graphics - Eagan, Minnesota |