Re: [Linux-v4.6-rc1] ext4: WARNING: CPU: 2 PID: 2692 at kernel/locking/lockdep.c:2017 __lock_acquire+0x180e/0x2260

Sedat Dilek
2016-03-30T12:46:39Z

On Wed, Mar 30, 2016 at 2:43 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Wed, Mar 30, 2016 at 11:49:57AM +0200, Sedat Dilek wrote:
>> On Wed, Mar 30, 2016 at 11:36 AM, Peter Zijlstra <peterz@infradead.org> wrote:
>
>> > OK, so while the code in check_no_collision() seems sensible, it relies
>> > on borken bits.
>> >
>> > The whole chain_hlocks and /proc/lockdep_chains stuff appears to have
>> > been buggered from the start.
>> >
>> > The below patch should fix this.
>> >
>>
>> checkpatch.pl says...
>>
>> WARNING: Prefer seq_puts to seq_printf
>> #124: FILE: kernel/locking/lockdep_proc.c:145:
>> + seq_printf(m, "(buggered) ");
>
> Yeah, sod checkpatch ;-)
>
> What's in your /proc/lockdep_stats file?

Eat thiz!

$ sudo cat /proc/lockdep_stats
lock-classes: 2012 [max: 8191]
direct dependencies: 9638 [max: 32768]
indirect dependencies: 39300
all direct dependencies: 256286
dependency chains: 12869 [max: 65536]
dependency chain hlocks: 49608 [max: 327680]
in-hardirq chains: 115
in-softirq chains: 458
in-process chains: 11504
stack-trace entries: 154861 [max: 524288]
combined max dependencies: 612572220
hardirq-safe locks: 61
hardirq-unsafe locks: 1032
softirq-safe locks: 169
softirq-unsafe locks: 949
irq-safe locks: 178
irq-unsafe locks: 1032
hardirq-read-safe locks: 4
hardirq-read-unsafe locks: 226
softirq-read-safe locks: 8
softirq-read-unsafe locks: 221
irq-read-safe locks: 9
irq-read-unsafe locks: 226
uncategorized locks: 216
unused locks: 0
max locking depth: 17
max bfs queue depth: 354
chain lookup misses: 12974
chain lookup hits: 36326533
cyclic checks: 11430
find-mask forwards checks: 3952
find-mask backwards checks: 74700
hardirq on events: 41715052
hardirq off events: 41715056
redundant hardirq ons: 404
redundant hardirq offs: 19500606
softirq on events: 220687
softirq off events: 220715
redundant softirq ons: 0
redundant softirq offs: 0
debug_locks: 1

- Sedat -