Subject: Re: [RFC] add rtnl semaphore to linux-atm

From: "David S. Miller" <[email-masked]>
Date: Fri, 3 Oct 2003 22:16:40 -0700

On Fri, 3 Oct 2003 14:45:41 -0700
Mitchell Blank Jr <[email-masked]> wrote:

> We *can't* use it to protect the state of the vcc list though because we
> need to do lookups in both interrupt and bh context.  Using a sleeping
> lock alone is a non-starter.
> 
> That's why we need to do the three-step spinlock->semaphore->spinlock
> dance in the vcc open and close paths.

The semaphore protects "modifications", it basically serializes them.

You still need a rwlock to protect the actual lists and this rwlock
is what the interrupt/bh context code takes to traverse the lists
and tables.

This is how the netdev list works, for example.