On 7/8/05, Eric Dumazet wrote: > > David S. Miller a écrit : > > From: Eric Dumazet > > 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