On Wed, 18 Jan 2006, Benjamin LaHaise wrote:
> 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.
You can't use RCU protection around code that may sleep. Whether the code
remains loaded in the kernel or is part of a removable module doesn't
enter into it.
Alan Stern
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]