Re: [PATCH] deinline a few large functions in vlan code v2

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

 



On Mon, 2006-04-10 at 17:16 +0300, Denis Vlasenko wrote:
> On Monday 10 April 2006 08:45, David S. Miller wrote:
> > From: Denis Vlasenko <[email protected]>
> > Date: Mon, 10 Apr 2006 08:28:20 +0300
> > 
> > > IOW: shouldn't calls to these functions sit in
> > > #if defined(CONFIG_VLAN_8021Q) || defined (CONFIG_VLAN_8021Q_MODULE)
> > > block? For example, typhoon.c:
> > > 
> > >                 spin_lock(&tp->state_lock);
> > > +#if defined(CONFIG_VLAN_8021Q) || defined (CONFIG_VLAN_8021Q_MODULE)
> > >                 if(tp->vlgrp != NULL && rx->rxStatus & TYPHOON_RX_VLAN)
> > >                         vlan_hwaccel_receive_skb(new_skb, tp->vlgrp,
> > >                                                  ntohl(rx->vlanTag) & 0xffff);
> > >                 else
> > > +#endif
> > >                         netif_receive_skb(new_skb);
> > >                 spin_unlock(&tp->state_lock);
> > > 
> > > Same for s2io.c, chelsio/sge.c, etc...
> > 
> > Very likely yes.  tp->vlgrp will never be non-NULL in such situations
> > so it's not a correctness issue, but rather an optimization :-)
> 
> Done. Please see attached.

I see this as a minor optimization, at the cost uglifying the body of a
function. Besides, if you're going to do this, you can get rid of the
spin_lock functions around it to, since they only protect tp->vlgrp in
this instance.

Please don't apply this to typhoon.c
-- 
Dave Dillow <[email protected]>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux