From 939478d04dcb1ba27875a45a5ea2246707fe1601 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 6 Dec 2013 21:08:11 +0100 Subject: [PATCH] DIET/MINOR: obj: pack the obj_type enum to 8 bits Taking 32-bit in each struct just to store an obj_type is a waste considering the very small amount of possible values. Let's force it to be as small as possible (1 char) and we'll be able to move some structs around to save some space. --- include/types/obj_type.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/types/obj_type.h b/include/types/obj_type.h index 09eaf4364..aefbcd3a1 100644 --- a/include/types/obj_type.h +++ b/include/types/obj_type.h @@ -30,7 +30,7 @@ * various types of objects. */ -/* object types */ +/* object types : these ones take the same space as a char */ enum obj_type { OBJ_TYPE_NONE = 0, /* pointer is NULL by definition */ OBJ_TYPE_LISTENER, /* object is a struct listener */ @@ -40,7 +40,7 @@ enum obj_type { OBJ_TYPE_APPCTX, /* object is a struct appctx */ OBJ_TYPE_CONN, /* object is a struct connection */ OBJ_TYPE_ENTRIES /* last one : number of entries */ -}; +} __attribute__((packed)) ; #endif /* _TYPES_OBJ_TYPE_H */