[VLAN] spin lock question
Stephen Hemminger
shemminger at osdl.org
Tue Oct 10 14:10:44 PDT 2006
On Tue, 10 Oct 2006 09:18:45 +0100
Alex Zeffertt <ajz at cambridgebroadband.com> wrote:
> 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?
Read Copy Update, described in Documentation/RCU/rcu.txt in the kernel source.
--
Stephen Hemminger <shemminger at osdl.org>
More information about the Vlan
mailing list