Messages in this thread | | | Subject | Re: possible lockdep regression introduced by 4d004099a668 ("lockdep: Fix lockdep recursion") | From | Filipe Manana <> | Date | Mon, 26 Oct 2020 11:56:03 +0000 |
| |
On 26/10/20 11:40, Peter Zijlstra wrote: > On Mon, Oct 26, 2020 at 11:26:49AM +0000, Filipe Manana wrote: >> Hello, >> >> I've recently started to hit a warning followed by tasks hanging after >> attempts to freeze a filesystem. A git bisection pointed to the >> following commit: >> >> commit 4d004099a668c41522242aa146a38cc4eb59cb1e >> Author: Peter Zijlstra <peterz@infradead.org> >> Date: Fri Oct 2 11:04:21 2020 +0200 >> >> lockdep: Fix lockdep recursion >> >> This happens very reliably when running all xfstests with lockdep >> enabled, and the tested filesystem is btrfs (haven't tried other >> filesystems, but it shouldn't matter). The warning and task hangs always >> happen at either test generic/068 or test generic/390, and (oddly) >> always have to run all tests for it to trigger, running those tests >> individually on an infinite loop doesn't seem to trigger it (at least >> for a couple hours). >> >> The warning triggered is at fs/super.c:__sb_start_write() which always >> results later in several tasks hanging on a percpu rw_sem: >> >> https://pastebin.com/qnLvf94E >> >> What happens is percpu_rwsem_is_held() is apparently returning a false >> positive, > > That smells like the same issue reported here: > > https://lkml.kernel.org/r/20201022111700.GZ2651@hirez.programming.kicks-ass.net > > Make sure you have commit: > > f8e48a3dca06 ("lockdep: Fix preemption WARN for spurious IRQ-enable") > > (in Linus' tree by now) and do you have CONFIG_DEBUG_PREEMPT enabled?
Yes, CONFIG_DEBUG_PREEMPT is enabled. I'll try with that commit and let you know, however it's gonna take a few hours to build a kernel and run all fstests (on that test box it takes over 3 hours) to confirm that fixes the issue.
Thanks for the quick reply!
> > > >
| |