[VLAN] spin lock question

Alex Zeffertt ajz at cambridgebroadband.com
Tue Oct 10 01:18:45 PDT 2006


Stephen Hemminger wrote:
> On Mon, 9 Oct 2006 12:39:44 -0700
> Stephen Hemminger <shemminger at osdl.org> wrote:
> 
>> On Fri, 06 Oct 2006 09:48:27 +0100
>> Alex Zeffertt <ajz at cambridgebroadband.com> wrote:
>>
>>> Hi list,
>>>
>>> I've been reading through the 8021q.o module source recently and
>>> I am confused by the choice of spin lock used in the following
>>> code:
>>>
>>>
>>> int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev,
>>>                    struct packet_type* ptype)
>>> {
>>> 	...
>>> 	spin_lock_bh(&vlan_group_lock);
>>> 	skb->dev = __find_vlan_dev(dev, vid);
>>> 	if (!skb->dev) {
>>> 		spin_unlock_bh(&vlan_group_lock);
>>> 	...
>>>
>> That code should use RCU actually.
> 
> That's what 2.6 already does.
> 
> 

Hi Stephen, thanks for your replies. I now think I understand, the key thing
being the implicit ref counting in spin_unlock_bh.

But, for the record, what is RCU?

Alex


More information about the Vlan mailing list