Merge branch 'fanf-smaller-rdatasetheader' into 'main'

Reduce the size of rdatasetheader_t by 16 bytes

See merge request isc-projects/bind9!7505
This commit is contained in:
Tony Finch 2023-02-09 09:09:05 +00:00
commit d39f666c7e
2 changed files with 21 additions and 14 deletions

View file

@ -1,3 +1,6 @@
6091. [performance] Reduce the size of each rdataset header object
by 16 bytes. [GL !7505]
6092. [bug] dnssec-cds failed to cleanup properly. [GL #3831]
6091. [cleanup] Drop RHEL 7 and clones support. [GL #3729]

View file

@ -239,10 +239,26 @@ typedef struct rdatasetheader {
rbtdb_rdatatype_t type;
atomic_uint_least16_t attributes;
dns_trust_t trust;
uint16_t heap_index;
/*%<
* Used for TTL-based cache cleaning. Matches type of dns_rbt_t->locknum
*/
unsigned int resign_lsb : 1;
isc_stdtime_t resign;
atomic_uint_fast32_t last_refresh_fail_ts;
atomic_uint_fast32_t count;
/*%<
* Monotonically increased every time this rdataset is bound so that
* it is used as the base of the starting point in DNS responses
* when the "cyclic" rrset-order is required.
*/
struct noqname *noqname;
struct noqname *closest;
unsigned int resign_lsb : 1;
/*%<
* We don't use the LIST macros, because the LIST structure has
* both head and tail pointers, and is doubly linked.
@ -262,23 +278,11 @@ typedef struct rdatasetheader {
* this rdataset.
*/
atomic_uint_fast32_t count;
/*%<
* Monotonously increased every time this rdataset is bound so that
* it is used as the base of the starting point in DNS responses
* when the "cyclic" rrset-order is required.
*/
dns_rbtnode_t *node;
isc_stdtime_t last_used;
ISC_LINK(struct rdatasetheader) link;
unsigned int heap_index;
/*%<
* Used for TTL-based cache cleaning.
*/
isc_stdtime_t resign;
/*%<
/*%
* Case vector. If the bit is set then the corresponding
* character in the owner name needs to be AND'd with 0x20,
* rendering that character upper case.