Hi Harald, Le 27/08/2020 à 11:00, Harald Welte a écrit : > Hi Nicolas, > > On Thu, Aug 27, 2020 at 12:36:24AM +0200, Nicolas Dichtel wrote: >> Le 26/08/2020 à 20:52, Harald Welte a écrit : > >>> Wouldn't it make sense to only allocate + fill those messages if we >>> actually knew a subscriber existed? >> >> In fact, this is actually how the netlink framework works. > > Well, as you can tell from my responses, I've not been doing kernel work > for a decade now, so I'm looking at things from a more distant and > ignorant perspective. To me it seems odd to allocate memory and copy > data to it (cache misses, ...) if nobody every requested that data, and > nobody will ever use it. But if this is how it is supposed to work, > then I will of course defer to that. All netlink would have to expose > is a function that returns whether or not there are any subscribers > to the given multicast group. Then all of the allocation + > initialization would disappear in a branch that is not executed most of > the time, at least for current, existing gtpnl systems. Yes, that means > one more branch, of course. But that branch will happen later on > anyway, event today: Only after the allocation + initialization. I agree, but I didn't find a good solution for this right now. The lookup is not straight forward.
> > So having said the above, if this is how it is supposed to work with > netlink: > > Acked-by: Harald Welte <lafo...@gnumonks.org> > Thank you.