Messages in this thread | | | Date | Wed, 18 Jan 2006 13:19:55 -0500 | From | Benjamin LaHaise <> | Subject | Re: [PATCH 1/8] Notifier chain update |
| |
On Wed, Jan 18, 2006 at 11:34:12AM -0500, Alan Stern wrote: > There are some limitations, which should not be too hard to live with. > For atomic/blocking chains, registration and unregistration must > always be done in a process context since the chain is protected by a > mutex/rwsem. Also, a callout routine for a non-raw chain must not try > to register or unregister entries on its own chain. (This did happen > in a couple of places and the code had to be changed to avoid it.)
This is bad, as rwsems are pretty much guaranteed to be a cache miss on smp systems, so their addition makes these code paths scale much more poorly than is needed. Given the current approach to modules, would it not make sense to simply require that any code that the notifier paths touch simply remain loaded in the kernel? In that case rcu protection of the pointers would suffice for the hooks.
-ben - 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/
| |