On 18 April 2016 at 14:31, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > On Mon, 2016-04-18 at 07:16 +0200, Michal Kazior wrote: > >> >> I guess .h file can give the compiler an opportunity for more >> optimizations. With .c you would need LTO which I'm not sure if it's >> available everywhere. >> > > This makes little sense really. Otherwise everything would be in .h > files. > > include/net/codel.h is an include file because both codel and fq_codel > use a common template for codel_dequeue() in fast path. > > But net/mac80211/fq.h is included once, so should be a .c FWIW cfg80211 drivers might become another user of the fq/codel stuff in the future. Arguably I should make include/net/codel.h not be qdisc specific as it is now (and hence re-usable by mac80211) and submit fq.h to include/net/. Would that be better (it'll probably take a lot longer to propagate over trees, no?) > > Certainly all the code in control plan is not fast path and does not > deserve being duplicated. Good point. The fq init/reset stuff is probably a good example. However if I were to put fq.h into include/net/ where should I put the init/reset stuff then? net/core/? Michał -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html