Search Linux Wireless

Re: [PATCH] mac80211: add NAPI support back

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 13, 2014 at 11:06 AM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:
> On Thu, 2014-02-13 at 10:55 +0200, Arik Nemtsov wrote:
>
>> > +       netif_napi_add(napi_dev, napi, poll, weight);
>> > +       local->napi = napi;
>>
>> I'm not really familiar with NAPI, but shouldn't netif_napi_del be
>> called at some point? And if so, it will leave mac80211 in an
>> inconsistent state.
>
> Oops. I totally forgot about that, since we use a fake netdev it doesn't
> seem to have hurt, but it could leak memory.
>
>> Maybe if we make it part of ieee80211_register/unregister_hw the
>> scoping of local->napi will be nicer?
>
> But then we'd have to have a whole bunch of new arguments to
> _register_hw(), would we really want to go there? I don't think so -
> also in iwlwifi we'd have to go through some contortions to do that
> (rather than just call this function we'd have to store the stuff coming
> in from below.)
>
> I think we can just require that the driver calls netif_napi_del()
> itself, and for now it'd only be allowed to do it after unregister_hw(),
> but that seems reasonable, no?

It's fine. But I guess it's nicer to add a small ieee80211 wrapper for
it that also clears local->napi? not sure.

In general can we even add/remove napi when an interface is up or is
it a bad idea? if it is, maybe it should be warned/blocked? I guess
the scoping wasn't really clear for me, but maybe it is for anyone
familiar with napi.
--
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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux