mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Reduce the size of rdatasetheader_t by 16 bytes
Re-order the fields to avoid padding, and change the type of `heap_index` to `uint16_t` to match `dns_rbtnode_t->locknum`.
This commit is contained in:
parent
ab4f4b4df0
commit
9721fa2153
2 changed files with 21 additions and 14 deletions
3
CHANGES
3
CHANGES
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue