• yangerkun's avatar
    dm-crypt: export sysfs of all workqueues · 2285e149
    yangerkun authored
    Once there is a heavy IO load, so many encrypt/decrypt work will occupy
    all of the cpu, which may lead to the poor performance for other service.
    So the improved visibility and controls over dm-crypt workqueues, as
    was offered with commit a2b8b2d9 ("dm crypt: export sysfs of
    kcryptd workqueue"), seems necessary. By exporting dm-crypt's
    workqueues in sysfs, the entry like cpumask/max_active and so on can
    help us to limit the CPU usage for encrypt/decrypt work.
    
    However, commit a2b8b2d9 did not consider that DM table reload
    will call .ctr before .dtr, so the reload for dm-crypt failed because
    the same sysfs name was present. This was the original need for commit
    48b0777c ("Revert "dm crypt: export sysfs of kcryptd workqueue"").
    
    Reintroduce the use of WQ_SYSFS, and use it for both the IO and crypt
    workqueues, but make the workqueue names include a unique id (via ida)
    to allow both old and new sysfs entries to coexist.
    Signed-off-by: default avataryangerkun <yangerkun@huawei.com>
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
    2285e149
dm-crypt.c 97.4 KB