Re: [PATCH 1/8] Notifier chain update

From: Benjamin LaHaise
Date: Wed Jan 18 2006 - 13:22:41 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/