The patch below does not apply to the 4.14-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From f612b2132db529feac4f965f28a1b9258ea7c22b Mon Sep 17 00:00:00 2001
From: Mike Snitzer snitzer@redhat.com Date: Wed, 20 Nov 2019 17:27:39 -0500 Subject: [PATCH] Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues"
This reverts commit a1b89132dc4f61071bdeaab92ea958e0953380a1.
Revert required hand-patching due to subsequent changes that were applied since commit a1b89132dc4f61071bdeaab92ea958e0953380a1.
Requires: ed0302e83098d ("dm crypt: make workqueue names device-specific") Cc: stable@vger.kernel.org Bug: https://bugzilla.kernel.org/show_bug.cgi?id=199857 Reported-by: Vito Caputo vcaputo@pengaru.com Signed-off-by: Mike Snitzer snitzer@redhat.com
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index f87f6495652f..eb9782fc93fe 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -2700,21 +2700,18 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv) }
ret = -ENOMEM; - cc->io_queue = alloc_workqueue("kcryptd_io/%s", - WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, - 1, devname); + cc->io_queue = alloc_workqueue("kcryptd_io/%s", WQ_MEM_RECLAIM, 1, devname); if (!cc->io_queue) { ti->error = "Couldn't create kcryptd io queue"; goto bad; }
if (test_bit(DM_CRYPT_SAME_CPU, &cc->flags)) - cc->crypt_queue = alloc_workqueue("kcryptd/%s", - WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, + cc->crypt_queue = alloc_workqueue("kcryptd/%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1, devname); else cc->crypt_queue = alloc_workqueue("kcryptd/%s", - WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND, + WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND, num_online_cpus(), devname); if (!cc->crypt_queue) { ti->error = "Couldn't create kcryptd queue";
On Tue, Nov 26 2019 at 5:41am -0500, gregkh@linuxfoundation.org gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 4.14-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
Same as 4.19 goes for 4.14, this worked for me:
git cherry-pick ed0302e83098d git cherry-pick f612b2132db529feac4f965f28a1b9258ea7c22b
Do your stable@ scripts actually look at Requires: tags?
Mike
------------------ original commit in Linus's tree ------------------
From f612b2132db529feac4f965f28a1b9258ea7c22b Mon Sep 17 00:00:00 2001 From: Mike Snitzer snitzer@redhat.com Date: Wed, 20 Nov 2019 17:27:39 -0500 Subject: [PATCH] Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues"
This reverts commit a1b89132dc4f61071bdeaab92ea958e0953380a1.
Revert required hand-patching due to subsequent changes that were applied since commit a1b89132dc4f61071bdeaab92ea958e0953380a1.
Requires: ed0302e83098d ("dm crypt: make workqueue names device-specific") Cc: stable@vger.kernel.org Bug: https://bugzilla.kernel.org/show_bug.cgi?id=199857 Reported-by: Vito Caputo vcaputo@pengaru.com Signed-off-by: Mike Snitzer snitzer@redhat.com
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index f87f6495652f..eb9782fc93fe 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -2700,21 +2700,18 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv) } ret = -ENOMEM;
- cc->io_queue = alloc_workqueue("kcryptd_io/%s",
WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
1, devname);
- cc->io_queue = alloc_workqueue("kcryptd_io/%s", WQ_MEM_RECLAIM, 1, devname); if (!cc->io_queue) { ti->error = "Couldn't create kcryptd io queue"; goto bad; }
if (test_bit(DM_CRYPT_SAME_CPU, &cc->flags))
cc->crypt_queue = alloc_workqueue("kcryptd/%s",
WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM,
else cc->crypt_queue = alloc_workqueue("kcryptd/%s",cc->crypt_queue = alloc_workqueue("kcryptd/%s", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1, devname);
WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND,
if (!cc->crypt_queue) { ti->error = "Couldn't create kcryptd queue";WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND, num_online_cpus(), devname);
On Tue, Nov 26, 2019 at 12:07:55PM -0500, Mike Snitzer wrote:
On Tue, Nov 26 2019 at 5:41am -0500, gregkh@linuxfoundation.org gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 4.14-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
Same as 4.19 goes for 4.14, this worked for me:
git cherry-pick ed0302e83098d git cherry-pick f612b2132db529feac4f965f28a1b9258ea7c22b
$ git cherry-pick ed0302e83098d [queue-4.19 fa98ce88d51b9] dm crypt: make workqueue names device-specific Author: Michał Mirosław mirq-linux@rere.qmqm.pl Date: Tue Oct 9 22:13:43 2018 +0200 1 file changed, 10 insertions(+), 5 deletions(-) $ git cherry-pick f612b2132db529feac4f965f28a1b9258ea7c22b [queue-4.19 73eb292b80f32] Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" Author: Mike Snitzer snitzer@redhat.com Date: Wed Nov 20 17:27:39 2019 -0500 1 file changed, 3 insertions(+), 6 deletions(-) $ make allmodconfig scripts/kconfig/conf --allmodconfig Kconfig # # configuration written to .config # $ make drivers/md/dm-crypt.o scripts/kconfig/conf --syncconfig Kconfig CALL scripts/checksyscalls.sh DESCEND objtool CC [M] drivers/md/dm-crypt.o drivers/md/dm-crypt.c: In function ‘crypt_ctr’: drivers/md/dm-crypt.c:2674:24: error: implicit declaration of function ‘dm_table_device_name’; did you mean ‘dm_device_name’? [-Werror=implicit-function-declaration] const char *devname = dm_table_device_name(ti->table); ^~~~~~~~~~~~~~~~~~~~ dm_device_name drivers/md/dm-crypt.c:2674:24: warning: initialization of ‘const char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] cc1: some warnings being treated as errors make[1]: *** [scripts/Makefile.build:310: drivers/md/dm-crypt.o] Error 1 make: *** [Makefile:1678: drivers/md/dm-crypt.o] Error 2
linux-stable-mirror@lists.linaro.org