m/n/c/s/crypt: enable fast inline data path
Not using workqueues for de/encryption skips a lot of expensive context
switching that needs to be done for each IO operation.
Also see https://blog.cloudflare.com/speeding-up-linux-disk-encryption/
for more details on what these do.
Change-Id: I3adc9b26e297b69bde6f01e1691c06f3b2c235b4
Reviewed-on: https://review.monogon.dev/c/monogon/+/672
Reviewed-by: Leopold Schabel <leo@nexantic.com>
diff --git a/metropolis/node/core/localstorage/crypt/crypt.go b/metropolis/node/core/localstorage/crypt/crypt.go
index 613ebea..1e81efa 100644
--- a/metropolis/node/core/localstorage/crypt/crypt.go
+++ b/metropolis/node/core/localstorage/crypt/crypt.go
@@ -77,7 +77,7 @@
devicemapper.Target{
Length: integritySectors,
Type: "crypt",
- Parameters: []string{"capi:gcm(aes)-random", hex.EncodeToString(encryptionKey), "0", integrityDevName, "0", "1", "integrity:28:aead"},
+ Parameters: []string{"capi:gcm(aes)-random", hex.EncodeToString(encryptionKey), "0", integrityDevName, "0", "1", "integrity:28:aead", "no_read_workqueue", "no_write_workqueue"},
},
})
if err != nil {