crypto: engine - Realign struct crypto_engine to save 8 bytes
authorThorsten Blum <thorsten.blum@linux.dev>
Thu, 17 Apr 2025 22:36:49 +0000 (00:36 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 23 Apr 2025 03:33:46 +0000 (11:33 +0800)
Realign struct crypto_engine to reduce its size by 8 bytes. Total size
is now 192 bytes, allowing it to fit within 3 cachelines instead of 4.

pahole output before:

  /* size: 200, cachelines: 4, members: 17 */
  /* sum members: 183, holes: 3, sum holes: 17 */
  /* paddings: 1, sum paddings: 4 */
  /* last cacheline: 8 bytes */

and after:

  /* size: 192, cachelines: 3, members: 17 */
  /* sum members: 183, holes: 2, sum holes: 9 */
  /* paddings: 1, sum paddings: 4 */

No functional changes intended.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
include/crypto/internal/engine.h

index fbf4be56cf1281bf3f882545493233c8ea302e54..b6a4ea2240fcaaf0de94f3228383059412c01917 100644 (file)
@@ -27,10 +27,10 @@ struct device;
  * @retry_support: indication that the hardware allows re-execution
  * of a failed backlog request
  * crypto-engine, in head position to keep order
+ * @rt: whether this queue is set to run as a realtime task
  * @list: link with the global crypto engine list
  * @queue_lock: spinlock to synchronise access to request queue
  * @queue: the crypto queue of the engine
- * @rt: whether this queue is set to run as a realtime task
  * @prepare_crypt_hardware: a request will soon arrive from the queue
  * so the subsystem requests the driver to prepare the hardware
  * by issuing this call
@@ -51,14 +51,13 @@ struct crypto_engine {
        bool                    running;
 
        bool                    retry_support;
+       bool                    rt;
 
        struct list_head        list;
        spinlock_t              queue_lock;
        struct crypto_queue     queue;
        struct device           *dev;
 
-       bool                    rt;
-
        int (*prepare_crypt_hardware)(struct crypto_engine *engine);
        int (*unprepare_crypt_hardware)(struct crypto_engine *engine);
        int (*do_batch_requests)(struct crypto_engine *engine);