On Tue, Feb 9, 2016 at 11:11 AM, Taylor R Campbell <campbell+netbsd-tech-k...@mumble.net> wrote: > Date: Tue, 9 Feb 2016 10:30:57 +0900 > From: Ryota Ozaki <ozak...@netbsd.org> > > On Tue, Feb 9, 2016 at 1:34 AM, Taylor R Campbell > <campbell+netbsd-tech-k...@mumble.net> wrote: > > (For the record, the issues were spurious reinitialization of > > ifp->if_percpuq in if_iwm and if_rtwn causing a memory leak, and a > > needless whitespace change in if_otus -- all residual from earlier > > drafts.) > > Allocating ifp->if_percpuq in if_iwm and if_rtwn is correct because > if_initialize/if_register don't allocate it. > > Oops. I sit corrected! > > > Are there any ieee80211 drivers that already do anything in softint? > > At a cursory glance, I don't see any. So the conditional is probably > > not necessary > > No, not yet (except USB drivers). I can remove the conditional (but > we have to keep in mind to change there when we change ieee80211 > and/or individual Wifi drivers). > > Sure. > > > -- and this is an argument for (in a future change) > > exposing the callback for if_percpuq so that ieee80211 can do > > if_perpcuq_dequeue/ieee80211_input, not if_percpuq_dequeue/if_input, > > in a loop. > > I'm worried we would have to make rxintr of Wifi drivers softint > in order to run all bpf hooks in softint because bpf hooks exit > before ieee80211_input. If we can move them into ieee80211_input, > we don't need such big changes though, I'm not sure yet if we can. > > It sounds reasonable to me to push ieee80211_input into softint, in a > future change. It is not substantially different from ether_input, > except we usually call ieee80211_input directly whereas we usually > call ether_input via ifp->if_input -- mainly, I suspect, so that it > can be replaced by bridge_input.
Yeah I think so (though I don't know when we will work on it :-/). ...so it's time to commit? :) ozaki-r