2020-07-24 06:22:47

by Rakesh Pillai

[permalink] [raw]
Subject: RE: [RFC 1/7] mac80211: Add check for napi handle before WARN_ON



> -----Original Message-----
> From: Johannes Berg <[email protected]>
> Sent: Friday, July 24, 2020 1:37 AM
> To: Rakesh Pillai <[email protected]>; [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> 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.

>
> johannes