[lkml]   [2006]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/8] Notifier chain update
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
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-01-18 21:25    [W:0.058 / U:0.336 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site