1. 10 Aug, 2020 1 commit
    • Ondřej Surý's avatar
      Reduce the default RBT hash table size to 16 entries (4 bits) · 9a2a8198
      Ondřej Surý authored
      The hash table rework MRs (!3865, !3871) increased the default RBT hash
      table size from 64 to 65,536 entries (for 64-bit architectures, that is
      512 bytes before vs. 524,288 bytes after).  This works fine for RBTs
      used for cache databases, but since three separate RBT databases are
      created for every zone loaded (RRs, NSEC, NSEC3), memory usage would
      skyrocket when BIND 9 is used as an authoritative DNS server with many
      zones.
      
      The default RBT hash table size before the rework was 64 entries, this
      commit reduces it to 16 entries because our educated guess is that most
      zones are just couple of entries (SOA, NS, A, AAAA, MX) and rehashing
      small hash tables is actually cheap.  The rework we did in the previous
      MRs tries to avoid growing the hash tables for big-to-huge caches where
      growing the hash table comes at a price because the whole cache needs to
      be locked.
      
      (cherry picked from commit 1e043a01)
      9a2a8198
  2. 06 Aug, 2020 5 commits
  3. 05 Aug, 2020 28 commits
  4. 04 Aug, 2020 6 commits