[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200525154730.GW2869@paulmck-ThinkPad-P72>
Date: Mon, 25 May 2020 08:47:30 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Andrii Nakryiko <andriin@...com>,
Alan Stern <stern@...land.harvard.edu>, parri.andrea@...il.com,
will@...nel.org, boqun.feng@...il.com, npiggin@...il.com,
dhowells@...hat.com, j.alglave@....ac.uk, luc.maranget@...ia.fr,
akiyks@...il.com, dlustig@...dia.com, joel@...lfernandes.org,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
"andrii.nakryiko@...il.com" <andrii.nakryiko@...il.com>
Subject: Re: Some -serious- BPF-related litmus tests
On Mon, May 25, 2020 at 01:25:21PM +0200, Peter Zijlstra wrote:
> On Fri, May 22, 2020 at 12:38:21PM -0700, Andrii Nakryiko wrote:
> > On 5/22/20 10:43 AM, Paul E. McKenney wrote:
> > > On Fri, May 22, 2020 at 10:32:01AM -0400, Alan Stern wrote:
>
> > > > Also, what use is a spinlock that is accessed in only one thread?
> > >
> > > Multiple writers synchronize via the spinlock in this case. I am
> > > guessing that his larger 16-hour test contended this spinlock.
> >
> > Yes, spinlock is for coordinating multiple producers. 2p1c cases (bounded
> > and unbounded) rely on this already. 1p1c cases are sort of subsets (but
> > very fast to verify) checking only consumer/producer interaction.
>
> Does that spinlock imply that we can now never fix that atrocious
> bpf_prog_active trainwreck ?
>
> How does that spinlock not trigger the USED <- IN-NMI lockdep check:
>
> f6f48e180404 ("lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions")
>
> ?
>
> That is; how can you use a spinlock on the producer side at all?
So even trylock is now forbidden in NMI handlers? If so, why?
Thanx, Paul
Powered by blists - more mailing lists