Subject: Re: [PATCH] loop unrolling in net/sched/sch_generic.c

From: Arnaldo Carvalho de Melo <[email-masked]>
Date: Fri, 8 Jul 2005 08:08:54 -0300

On 7/8/05, Eric Dumazet <[email-masked]> wrote:
> 
> David S. Miller a écrit :
> > From: Eric Dumazet <[email-masked]>
> > Date: Fri, 08 Jul 2005 08:53:02 +0200
> >
> >
> >>About making sk_buff smaller, I use this patch to declare 'struct
> >>sec_path *sp' only ifdef CONFIG_XFRM, what do you think ? I also
> >>use a patch to declare nfcache, nfctinfo and nfct only if
> >>CONFIG_NETFILTER_CONNTRACK or CONFIG_NETFILTER_CONNTRACK_MODULE are
> >>defined, but thats more intrusive. Also, tc_index is not used if
> >>CONFIG_NET_SCHED only is declared but none of CONFIG_NET_SCH_* In my
> >>case, I am using CONFIG_NET_SCHED only to be able to do : tc -s -d
> >>qdisc
> >
> >
> > Distributions enable all of the ifdefs, and that is thus the
> > size and resultant performance most users see.
> 
> Well, I had this idea because I found another similar use in 
> include/linux/ip.h
> 
> struct inet_sock {
> /* sk and pinet6 has to be the first two members of inet_sock */
> struct sock sk;
> #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> struct ipv6_pinfo *pinet6;
> #endif

/me pleads guilty, Dave, any problem with removing this #ifdef? Humm, I'll 
think about using
the skb_alloc_extension() idea for struct sock, but this pinet6 sucker is a 
bit more difficult I guess...

- Arnaldo