From: Greg Kroah-Hartman Date: Tue, 26 Nov 2019 17:58:21 +0000 (+0100) Subject: 4.14-stable patches X-Git-Tag: v4.4.204~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=79cd63d39e3ed8f1694ec0c5989793597f97ef05;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: dm-crypt-make-workqueue-names-device-specific.patch revert-dm-crypt-use-wq_highpri-for-the-io-and-crypt-workqueues.patch --- diff --git a/queue-4.14/dm-crypt-make-workqueue-names-device-specific.patch b/queue-4.14/dm-crypt-make-workqueue-names-device-specific.patch new file mode 100644 index 00000000000..d55296867ab --- /dev/null +++ b/queue-4.14/dm-crypt-make-workqueue-names-device-specific.patch @@ -0,0 +1,83 @@ +From ed0302e83098db9b3a8c27f36c93deeafd6963d8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= +Date: Tue, 9 Oct 2018 22:13:43 +0200 +Subject: dm crypt: make workqueue names device-specific +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Michał Mirosław + +commit ed0302e83098db9b3a8c27f36c93deeafd6963d8 upstream. + +Make cpu-usage debugging easier by naming workqueues per device. + +Example ps output: + +root 413 0.0 0.0 0 0 ? I< paź02 0:00 [kcryptd_io/253:0] +root 414 0.0 0.0 0 0 ? I< paź02 0:00 [kcryptd/253:0] +root 415 0.0 0.0 0 0 ? S paź02 1:10 [dmcrypt_write/253:0] +root 465 0.0 0.0 0 0 ? I< paź02 0:00 [kcryptd_io/253:2] +root 466 0.0 0.0 0 0 ? I< paź02 0:00 [kcryptd/253:2] +root 467 0.0 0.0 0 0 ? S paź02 2:06 [dmcrypt_write/253:2] +root 15359 0.2 0.0 0 0 ? I< 19:43 0:25 [kworker/u17:8-kcryptd/253:0] +root 16563 0.2 0.0 0 0 ? I< 20:10 0:18 [kworker/u17:0-kcryptd/253:2] +root 23205 0.1 0.0 0 0 ? I< 21:21 0:04 [kworker/u17:4-kcryptd/253:0] +root 13383 0.1 0.0 0 0 ? I< 21:32 0:02 [kworker/u17:2-kcryptd/253:2] +root 2610 0.1 0.0 0 0 ? I< 21:42 0:01 [kworker/u17:12-kcryptd/253:2] +root 20124 0.1 0.0 0 0 ? I< 21:56 0:01 [kworker/u17:1-kcryptd/253:2] + +Signed-off-by: Michał Mirosław +Signed-off-by: Mike Snitzer +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/md/dm-crypt.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +--- a/drivers/md/dm-crypt.c ++++ b/drivers/md/dm-crypt.c +@@ -2678,6 +2678,7 @@ static int crypt_ctr_optional(struct dm_ + static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv) + { + struct crypt_config *cc; ++ const char *devname = dm_table_device_name(ti->table); + int key_size; + unsigned int align_mask; + unsigned long long tmpll; +@@ -2827,18 +2828,22 @@ static int crypt_ctr(struct dm_target *t + } + + ret = -ENOMEM; +- cc->io_queue = alloc_workqueue("kcryptd_io", WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1); ++ cc->io_queue = alloc_workqueue("kcryptd_io/%s", ++ WQ_HIGHPRI | WQ_CPU_INTENSIVE | 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", WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1); ++ cc->crypt_queue = alloc_workqueue("kcryptd/%s", ++ WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, ++ 1, devname); + else +- cc->crypt_queue = alloc_workqueue("kcryptd", ++ cc->crypt_queue = alloc_workqueue("kcryptd/%s", + WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND, +- num_online_cpus()); ++ num_online_cpus(), devname); + if (!cc->crypt_queue) { + ti->error = "Couldn't create kcryptd queue"; + goto bad; +@@ -2847,7 +2852,7 @@ static int crypt_ctr(struct dm_target *t + init_waitqueue_head(&cc->write_thread_wait); + cc->write_tree = RB_ROOT; + +- cc->write_thread = kthread_create(dmcrypt_write, cc, "dmcrypt_write"); ++ cc->write_thread = kthread_create(dmcrypt_write, cc, "dmcrypt_write/%s", devname); + if (IS_ERR(cc->write_thread)) { + ret = PTR_ERR(cc->write_thread); + cc->write_thread = NULL; diff --git a/queue-4.14/revert-dm-crypt-use-wq_highpri-for-the-io-and-crypt-workqueues.patch b/queue-4.14/revert-dm-crypt-use-wq_highpri-for-the-io-and-crypt-workqueues.patch new file mode 100644 index 00000000000..5a452bf8073 --- /dev/null +++ b/queue-4.14/revert-dm-crypt-use-wq_highpri-for-the-io-and-crypt-workqueues.patch @@ -0,0 +1,52 @@ +From f612b2132db529feac4f965f28a1b9258ea7c22b Mon Sep 17 00:00:00 2001 +From: Mike Snitzer +Date: Wed, 20 Nov 2019 17:27:39 -0500 +Subject: Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" + +From: Mike Snitzer + +commit f612b2132db529feac4f965f28a1b9258ea7c22b upstream. + +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 +Signed-off-by: Mike Snitzer +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/md/dm-crypt.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +--- a/drivers/md/dm-crypt.c ++++ b/drivers/md/dm-crypt.c +@@ -2828,21 +2828,18 @@ static int crypt_ctr(struct dm_target *t + } + + 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"; diff --git a/queue-4.14/series b/queue-4.14/series index 41b6a11f336..df38e743e3f 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -169,3 +169,5 @@ md-raid10-prevent-access-of-uninitialized-resync_pages-offset.patch mm-memory_hotplug-don-t-access-uninitialized-memmaps-in-shrink_zone_span.patch net-phy-dp83867-fix-speed-10-in-sgmii-mode.patch net-phy-dp83867-increase-sgmii-autoneg-timer-duration.patch +dm-crypt-make-workqueue-names-device-specific.patch +revert-dm-crypt-use-wq_highpri-for-the-io-and-crypt-workqueues.patch