[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <000e01d66368$9a6ece70$cf4c6b50$@codeaurora.org>
Date: Sun, 26 Jul 2020 21:49:51 +0530
From: "Rakesh Pillai" <pillair@...eaurora.org>
To: "'Johannes Berg'" <johannes@...solutions.net>,
<ath10k@...ts.infradead.org>
Cc: <linux-wireless@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<kvalo@...eaurora.org>, <davem@...emloft.net>, <kuba@...nel.org>,
<netdev@...r.kernel.org>, <dianders@...omium.org>,
<evgreen@...omium.org>
Subject: RE: [RFC 1/7] mac80211: Add check for napi handle before WARN_ON
> -----Original Message-----
> From: Rakesh Pillai <pillair@...eaurora.org>
> Sent: Friday, July 24, 2020 11:51 AM
> To: 'Johannes Berg' <johannes@...solutions.net>;
> 'ath10k@...ts.infradead.org' <ath10k@...ts.infradead.org>
> Cc: 'linux-wireless@...r.kernel.org' <linux-wireless@...r.kernel.org>;
> 'linux-kernel@...r.kernel.org' <linux-kernel@...r.kernel.org>;
> 'kvalo@...eaurora.org' <kvalo@...eaurora.org>; 'davem@...emloft.net'
> <davem@...emloft.net>; 'kuba@...nel.org' <kuba@...nel.org>;
> 'netdev@...r.kernel.org' <netdev@...r.kernel.org>;
> 'dianders@...omium.org' <dianders@...omium.org>;
> 'evgreen@...omium.org' <evgreen@...omium.org>
> Subject: RE: [RFC 1/7] mac80211: Add check for napi handle before
> WARN_ON
>
>
>
> > -----Original Message-----
> > From: Johannes Berg <johannes@...solutions.net>
> > Sent: Friday, July 24, 2020 1:37 AM
> > To: Rakesh Pillai <pillair@...eaurora.org>; ath10k@...ts.infradead.org
> > Cc: linux-wireless@...r.kernel.org; linux-kernel@...r.kernel.org;
> > kvalo@...eaurora.org; davem@...emloft.net; kuba@...nel.org;
> > netdev@...r.kernel.org; dianders@...omium.org;
> evgreen@...omium.org
> > Subject: Re: [RFC 1/7] mac80211: Add check for napi handle before
> > WARN_ON
> >
> > On Thu, 2020-07-23 at 23:56 +0530, Rakesh Pillai wrote:
> >
> > > > > - WARN_ON_ONCE(softirq_count() == 0);
> > > > > + WARN_ON_ONCE(napi && softirq_count() == 0);
> > > >
> > > > FWIW, I'm pretty sure this is incorrect - we make assumptions on
> > > > softirqs being disabled in mac80211 for serialization and in place of
> > > > some locking, I believe.
> > > >
> > >
> > > I checked this, but let me double confirm.
> > > But after this change, no packet is submitted from driver in a softirq
> > context.
> > > So ideally this should take care of serialization.
> >
> > I'd guess that we have some reliance on BHs already being disabled, for
> > things like u64 sync updates, or whatnot. I mean, we did "rx_ni()" for a
> > reason ... Maybe lockdep can help catch some of the issues.
> >
> > But couldn't you be in a thread and have BHs disabled too?
>
> This would ideally beat the purpose and possibly hurt the other subsystems
> running on the same core.
>
Hi Johannes,
We do have the usage of napi_gro_receive and netif_receive_skb in mac80211.
/* deliver to local stack */
if (rx->napi)
napi_gro_receive(rx->napi, skb);
else
netif_receive_skb(skb);
Also all the rx_handlers are called under the " rx->local->rx_path_lock" lock.
Is the BH disable still required ?
> >
> > johannes
Powered by blists - more mailing lists