]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: cache: more efficiently pack the struct cache
authorWilly Tarreau <w@1wt.eu>
Sun, 26 Nov 2017 07:54:31 +0000 (08:54 +0100)
committerWilly Tarreau <w@1wt.eu>
Sun, 26 Nov 2017 10:10:53 +0000 (11:10 +0100)
By having the cache id on 33 bytes as the first member, it was
creating a hole and forcing the "hot" remaining part to be split
across two cache lines. Let's move the id at the end as it's used
only during config parsing.

src/cache.c

index 3b19f859e9796b06c2123aaeb60721134d9f8cd3..06d7ce8813ea9164dcc43cc7e66a9d5dc3cece65 100644 (file)
@@ -45,11 +45,11 @@ struct applet http_cache_applet;
 struct flt_ops cache_ops;
 
 struct cache {
-       char id[33];             /* cache name */
-       unsigned int maxage;  /* max-age */
-       unsigned int maxblocks;
-       struct list list;     /* cache linked list */
+       struct list list;        /* cache linked list */
        struct eb_root entries;  /* head of cache entries based on keys */
+       unsigned int maxage;     /* max-age */
+       unsigned int maxblocks;
+       char id[33];             /* cache name */
 };
 
 /*