[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>
[Netdev] [Ethernet Bridging] [Linux Wireless] [Kernel Newbies] [Security] [Linux for Hams] [Netfilter] [Bugtraq] [Photo] [Yosemite] [Yosemite News] [MIPS Linux] [ARM Linux] [Linux RAID] [Linux Admin] [Samba] [Video 4 Linux] [Linux Resources]