From: Christopher Faulet Date: Tue, 14 Oct 2025 16:43:24 +0000 (+0200) Subject: MINOR: stktable: Save 8 bytes in stksess structure X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d714c6752cd4aa2b490e06b6ed33ae1963734250;p=thirdparty%2Fhaproxy.git MINOR: stktable: Save 8 bytes in stksess structure Thanks to the previous change, it is possible to save 8 bytes in the stksess structure. the field is now a 16-bits unsigned integer. It is possible because its max value is tested during parsing. is now a 8-bits integer because its value is 0 or 1. And is now 8-bits integer too. It is one of STKSESS_UPDT_ value. --- diff --git a/include/haproxy/stick_table-t.h b/include/haproxy/stick_table-t.h index ce9a8c205..efbc9da42 100644 --- a/include/haproxy/stick_table-t.h +++ b/include/haproxy/stick_table-t.h @@ -157,12 +157,16 @@ struct stksess { unsigned int expire; /* session expiration date */ unsigned int ref_cnt; /* reference count, can only purge when zero */ __decl_thread(HA_RWLOCK_T lock); /* lock related to the table entry */ - int shard; /* shard number used by peers */ - int seen; /* 0 only when no peer has seen this entry yet */ + + uint16_t shard; /* shard number used by peers */ // TODO: rename + uint8_t seen; /* 0 only when no peer has seen this entry yet */ + uint8_t updt_type; /* One of STKSESS_UPDT_* value */ + + /* 4-bytes hole here */ + struct eb32_node exp; /* ebtree node used to hold the session in expiration tree */ struct list upd; /* entry in the table's update sequence list */ struct mt_list pend_updts;/* list of entries to be inserted/moved in the update sequence tree */ - unsigned int updt_type; /* One of STKSESS_UPDT_* value */ struct ebmb_node key; /* ebtree node used to hold the session in table */ /* WARNING! do not put anything after , it's used by the key */ };