Messages in this thread | | | Subject | Re: 800+ byte inlines in include/net/pkt_act.h | From | jamal <> | Date | Mon, 21 Aug 2006 08:26:00 -0400 |
| |
On Sun, 2006-20-08 at 19:33 +0200, Denis Vlasenko wrote: > Hi, > > include/net/pkt_act.h plays a game of inlines > which are kind of "templatized", like this: > > act_ipt.c: > > /* ovewrride the defaults */ > #define tcf_st tcf_ipt > #define tcf_t_lock ipt_lock > #define tcf_ht tcf_ipt_ht > #define CONFIG_NET_ACT_INIT > #include <net/pkt_act.h> > > This results in code duplication. For example, > tcf_generic_walker() is duplicated four times. > On i386 it is about 4*800 bytes in text section. > Other inlines are a bit smaller but still are substantial.
As per last discussion, either Patrick McHardy or myself are going to work on it - at some point. Please be patient. The other alternative is: you fix it and send patches.
Note that even after conversion, functions like tcf_generic_walker() are not going to save much in total .text sizes; also note they run the control path and are typically not as much invoked and therefore not performance impacting on smaller cache systems..
cheers, jamal
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |