On Sun, Dec 20, 2020 at 2:18 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Sun, Dec 20, 2020 at 02:22:28AM +0200, Vitaly Wool wrote: > > zsmalloc takes bit spinlock in its _map() callback and releases it > > only in unmap() which is unsafe and leads to zswap complaining > > about scheduling in atomic context. > > > > To fix that and to improve RT properties of zsmalloc, remove that > > bit spinlock completely and use a bit flag instead. > > Isn't this just "I open coded bit spinlock to make the lockdep > warnings go away"? Not really because bit spinlock leaves preemption disabled.