netdev
[Top] [All Lists]

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

To: "David S. Miller" <davem@xxxxxxxxxxxxx>
Subject: Re: [PATCH] loop unrolling in net/sched/sch_generic.c
From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Date: Fri, 08 Jul 2005 10:19:46 +0200
Cc: tgraf@xxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20050708.003014.125896217.davem@davemloft.net>
References: <20050706124206.GW16076@postel.suug.ch> <20050707.141718.85410359.davem@davemloft.net> <42CE22CE.7030902@cosmosbay.com> <20050708.003014.125896217.davem@davemloft.net>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
David S. Miller a écrit :
From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
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


You are right such conditions are distributions nightmare :(

Eric

<Prev in Thread] Current Thread [Next in Thread>