diff options
author | Björn Bidar | 2022-03-25 02:51:40 +0200 |
---|---|---|
committer | Björn Bidar | 2022-06-11 14:12:36 +0300 |
commit | 034adcf2fd3311bba3f58b8575b0be699ab3bd70 (patch) | |
tree | a8934d717407ce664ecf241b2d06d7543d7cce72 /0030-ZEN-dm-crypt-Disable-workqueues-for-crypto-operation.patch | |
parent | 05a0260e8dc51ce338d4ba7d1a9ffcd6b73d04b2 (diff) | |
download | aur-034adcf2fd3311bba3f58b8575b0be699ab3bd70.tar.gz |
Update to 5.18.0.pf1
- New upstream release based on 5.18.0
- Update kernel configs from arch and arch32
- Disable projectc patch-set for now in favor of ZEN interactive
patches
- Add more sub-arches
- Remove Silvermont and Ivybridge from optimzed builds from
build_pkgs, add:
- generic-v2
- generic-v3
- generiv-v4
- rocketlake
- alderlake
Diffstat (limited to '0030-ZEN-dm-crypt-Disable-workqueues-for-crypto-operation.patch')
-rw-r--r-- | 0030-ZEN-dm-crypt-Disable-workqueues-for-crypto-operation.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/0030-ZEN-dm-crypt-Disable-workqueues-for-crypto-operation.patch b/0030-ZEN-dm-crypt-Disable-workqueues-for-crypto-operation.patch new file mode 100644 index 000000000000..a3e56a4cbc59 --- /dev/null +++ b/0030-ZEN-dm-crypt-Disable-workqueues-for-crypto-operation.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Steven Barrett <steven@liquorix.net> +Date: Sat, 21 May 2022 15:15:09 -0500 +Subject: [PATCH] ZEN: dm-crypt: Disable workqueues for crypto operations + +Queueing in dm-crypt for crypto operations reduces performance on modern +systems. As discussed in an article from Cloudflare, they discovered +that queuing was introduced because the crypto subsystem used to be +synchronous. Since it's now asynchronous, we get double queueing when +using the subsystem through dm-crypt. This is obviously undesirable and +reduces throughput and increases latency. + +Disable queueing when using our Zen Interactive configuration. + +Fixes: https://github.com/zen-kernel/zen-kernel/issues/282 +--- + drivers/md/dm-crypt.c | 5 +++++ + init/Kconfig | 1 + + 2 files changed, 6 insertions(+) + +diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c +index fb80539865d7c0499c39dab9c652348d1164af81..11031338d95f7ef546e3ed68f359bf956583c1be 100644 +--- a/drivers/md/dm-crypt.c ++++ b/drivers/md/dm-crypt.c +@@ -3137,6 +3137,11 @@ static int crypt_ctr_optional(struct dm_target *ti, unsigned int argc, char **ar + } + } + ++#ifdef CONFIG_ZEN_INTERACTIVE ++ set_bit(DM_CRYPT_NO_READ_WORKQUEUE, &cc->flags); ++ set_bit(DM_CRYPT_NO_WRITE_WORKQUEUE, &cc->flags); ++#endif ++ + return 0; + } + +diff --git a/init/Kconfig b/init/Kconfig +index ecfe83ad567b94696de585082cdea4168fef2db4..dd6432fbec07c238154830db9aa76c9d514ddcee 100644 +--- a/init/Kconfig ++++ b/init/Kconfig +@@ -120,6 +120,7 @@ config ZEN_INTERACTIVE + --- Block Layer ---------------------------------------- + + Default scheduler.........: mq-deadline -> bfq ++ DM-Crypt Workqueues.......: on -> off + + --- Virtual Memory Subsystem --------------------------- + |