On Wed, May 27, 2020 at 10:11:19PM +0200, Sebastian Andrzej Siewior wrote: > From: Mike Galbraith <[email protected]> > > The zcomp driver uses per-CPU compression. The per-CPU data pointer is > acquired with get_cpu_ptr() which implicitly disables preemption. > It allocates memory inside the preempt disabled region which conflicts > with the PREEMPT_RT semantics. > > Replace the implicit preemption control with an explicit local lock. > This allows RT kernels to substitute it with a real per CPU lock, which > serializes the access but keeps the code section preemptible. On non RT > kernels this maps to preempt_disable() as before, i.e. no functional > change. > > [bigeasy: Use local_lock(), description, drop reordering] > > Cc: Minchan Kim <[email protected]> > Cc: Nitin Gupta <[email protected]> > Cc: Sergey Senozhatsky <[email protected]> > Signed-off-by: Mike Galbraith <[email protected]> > Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Acked-by: Minchan Kim <[email protected]>

