[dm-crypt] kworkers for dm-crypt locked to CPU core 0?

Christian Schmidt schmidt at digadd.de
Mon Mar 25 11:55:35 CET 2013

Hi Andi,

On 25/03/13 11:32, Andi Kleen wrote:
> Christian Schmidt <schmidt at digadd.de> writes:
>> Is there a way I can make the scheduler put those on multiple cores?
> Submit the IO from multiple cores. Don't use dd.

The dd processes run on multiple cores. I do understand that you were
saying "multiple requests to the same device from multiple cores",
however I only see kworkers from core 0 active, even with corelocked dd
processes (via numactl). Since I just skimmed to the pcrypt.c I kind of
realized that was the answer - do I understand correctly that the core
for the kworker follows the core of the requestor?

Basically that means that I can not get the aggregate throughput for all
devices higher than that for a single device by changing the stacking,
e.g. dm-crypt on top of md-raid / below the md-raid, or below zfs/btrfs
vdevs, since all user space requests will always appear to the crypto
layer to originate from core 0, irrespective of the core the application
runs on, unless the file system runs multithreaded? I just tested this
with ZFS, and all kworkers run on core 0 during file I/O or when
resilvering a raidZ. I don't have a btrfs managing its own vdevs at hand
to compare though.

Thanks for your input,

More information about the dm-crypt mailing list