Re: [PATCHv4 02/17] zram: do not use per-CPU compression streams
From: Sergey Senozhatsky
Date: Sat Feb 08 2025 - 11:43:13 EST
On (25/02/09 01:20), Sergey Senozhatsky wrote:
> So I moved lockdep class keys to per-zram device and per-zsmalloc pool
> to separate the lockdep chains. Looks like that did the trick.
>
>
[..]
>
> [ 1714.900906] [ T172] Chain exists of:
> ptlock_ptr(ptdesc)#2 --> zram-entry->lock --> &zstrm->lock
>
> [ 1714.903183] [ T172] Possible unsafe locking scenario:
>
> [ 1714.904463] [ T172] CPU0 CPU1
> [ 1714.905380] [ T172] ---- ----
> [ 1714.906293] [ T172] lock(&zstrm->lock);
> [ 1714.907006] [ T172] lock(zram-entry->lock);
> [ 1714.908204] [ T172] lock(&zstrm->lock);
> [ 1714.909347] [ T172] lock(ptlock_ptr(ptdesc)#2);
> [ 1714.910179] [ T172]
> *** DEADLOCK ***
Actually, let me look at this more. Maybe I haven't figured it out yet.