tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: RFC: softint-based if_input
On Tue, Feb 9, 2016 at 1:34 AM, Taylor R Campbell
<campbell+netbsd-tech-kern%mumble.net@localhost> wrote:
> Date: Mon, 8 Feb 2016 15:01:18 +0900
> From: Ryota Ozaki <ozaki-r%netbsd.org@localhost>
>
> After that, two more issues have been found by him, and I've fixed them:
> http://www.netbsd.org/~ozaki-r/softint-if_input-percpuq6.diff
> http://www.netbsd.org/~ozaki-r/softint-if_input-percpuq6-diff.diff
>
> (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.
>
> 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).
Patches updated:
http://www.netbsd.org/~ozaki-r/softint-if_input-percpuq7.diff
http://www.netbsd.org/~ozaki-r/softint-if_input-percpuq7-diff.diff
> -- 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.
ozaki-r
Home |
Main Index |
Thread Index |
Old Index