[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YDUI5M5FQLycOd33@localhost.localdomain>
Date: Tue, 23 Feb 2021 14:53:40 +0100
From: Juri Lelli <juri.lelli@...hat.com>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: linux-rt-users <linux-rt-users@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
"Ahmed S. Darwish" <a.darwish@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [RT v5.11-rt7] WARNING at include/linux/seqlock.h:271
nft_counter_eval
On 23/02/21 12:00, Sebastian Andrzej Siewior wrote:
> On 2021-02-23 11:49:07 [+0100], Juri Lelli wrote:
> > Hi,
> Hi,
>
> > I'm seeing the following splat right after boot (or during late boot
> > phases) with v5.11-rt7 (LOCKDEP enabled).
> …
> > [ 85.273588] WARNING: CPU: 5 PID: 1416 at include/linux/seqlock.h:271 nft_counter_eval+0x95/0x130 [nft_counter]
> …
> > [ 85.273713] RIP: 0010:nft_counter_eval+0x95/0x130 [nft_counter]
>
> This is a per-CPU seqcount_t in net/netfilter/nft_counter.c which is
> only protected by local_bh_disabled(). The warning expects preemption
> to be disabled which is the case on !RT but not on RT.
>
> Not sure what to do about this. It is doing anything wrong as of now. It
> is noisy.
So, I'm a bit confused and I'm very likely missing details (still
digesting the seqprop_ magic), but write_seqcount_being() has
if (seqprop_preemptible(s))
preempt_disable();
which in this case (no lock associated) is defined to return false,
while it should return true on RT (or in some occasions)? Or maybe this
is what you are saying already.
Also, the check for preemption been disabled happens before we can
actually potentially disable it, no?
Thanks for the quick reply!
Best,
Juri
Powered by blists - more mailing lists