Messages in this thread | | | Subject | Re: [patch] zswap: fix zswap_frontswap_load() vs zsmalloc::map/unmap() might_sleep() splat | From | Mike Galbraith <> | Date | Sat, 19 Dec 2020 11:59:33 +0100 |
| |
On Sat, 2020-12-19 at 11:46 +0100, Vitaly Wool wrote: > On Sat, 19 Dec 2020, 11:27 Mike Galbraith, <efault@gmx.de> wrote: > > > The kernel that generated that splat was NOT an RT kernel, it was plain > > master.today with a PREEMPT config. > > > I see, thanks. I don't think it makes things better for zsmalloc > though. From what I can see, the offending code is this: > > > /* From now on, migration cannot move the object */ > > pin_tag(handle); > > Bit spinlock is taken in pin_tag(). I find the comment above somewhat > misleading, why is it necessary to take a spinlock to prevent > migration? I would guess an atomic flag should normally be enough. > > zswap is not broken here, it is zsmalloc that needs to be fixed.
Cool, those damn bit spinlocks going away would be a case of happiness for RT as well :)
-Mike
| |