Skip to contentSkip to conversation

FAILED: patch "[PATCH] Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt" failed to apply to 4.14-stable tree

PATCH [email protected] 3 participants 3 messages Nov 26, 2019 – Nov 27, 2019

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

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 <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From f612b2132db529feac4f965f28a1b9258ea7c22b Mon Sep 17 00:00:00 2001
From: Mike Snitzer <[email protected]>
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")

drivers/md/dm-crypt.c +3 -6
index f87f6495652f..eb9782fc93fe 100644
@@ -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";
#1 lore raw
Quoted 9 lines · On Tue, Nov 26 2019 at 5:41am -0500, [email protected]…

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 <[email protected]>.

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

Quoted 49 lines

------------------ original commit in Linus's tree ------------------

From f612b2132db529feac4f965f28a1b9258ea7c22b Mon Sep 17 00:00:00 2001
From: Mike Snitzer <[email protected]>
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")

drivers/md/dm-crypt.c +3 -6
index f87f6495652f..eb9782fc93fe 100644
@@ -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";
maintainer
#2 lore raw
Quoted 9 lines · Mike Snitzer
Quoted 6 lines · On Tue, Nov 26 2019 at 5:41am -0500, [email protected]…

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 <[email protected]>.

Quoted 8 lines
Quoted 3 lines

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 <[email protected]>
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 <[email protected]>
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
Signature · 2 lines
Thanks,
Sasha