Re: [patch] drivers/zram: Don't disable preemption in zcomp_stream_get/put()
From: Sebastian Andrzej Siewior
Date: Mon Oct 17 2016 - 10:24:46 EST
On 2016-10-16 05:14:22 [+0200], Mike Galbraith wrote:
>
> In v4.7, the driver switched to percpu compression streams, disabling
> preemption (get/put_cpu_ptr()). Use get/put_cpu_light() instead.
I am not convinced that this will work. Nothing prevents
zram_bvec_write() to be reentrant on the same CPU what I can tell from
browsing over the code and since it uses zstrm->buffer for compression
it can go wrong. Also I don't know if crypto's tfm handler can be used
in parallel for any ops (it usually does not work for crypto).
I suggest a local lock or a good reason why the this patch works.
Sebastian