[VLAN] spin lock question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 10 Oct 2006 09:18:45 +0100
Alex Zeffertt <ajz@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> 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?

Read Copy Update, described in Documentation/RCU/rcu.txt in the kernel source.


-- 
Stephen Hemminger <shemminger@xxxxxxxx>

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux