Stephen Hemminger wrote: > On Mon, 9 Oct 2006 12:39:44 -0700 > Stephen Hemminger <shemminger@xxxxxxxx> wrote: > >> On Fri, 06 Oct 2006 09:48:27 +0100 >> Alex Zeffertt <ajz@xxxxxxxxxxxxxxxxxxxxxx> 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