CLEANUP: cache: more efficiently pack the struct cache
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.
diff --git a/src/cache.c b/src/cache.c
index 3b19f85..06d7ce8 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -45,11 +45,11 @@
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 */
};
/*