]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3132. [tuning] Expanded zone task table from 8 to 17 buckets,
authorEvan Hunt <each@isc.org>
Wed, 6 Jul 2011 19:02:40 +0000 (19:02 +0000)
committerEvan Hunt <each@isc.org>
Wed, 6 Jul 2011 19:02:40 +0000 (19:02 +0000)
added ZONE_TASKS define in zone.c to make it easier
to hand-tune this value. [RT #24406]

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index c317066f5f3f85abd2be06606f15421ee421ca3d..ef524a54413582ddf21e20173cd608240d0882e8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+3132.  [tuning]        Expanded zone task table from 8 to 17 buckets,
+                       added ZONE_TASKS define in zone.c to make it easier
+                       to hand-tune this value. [RT #24406]
+
 3129.  [bug]           Named could crash on 'rndc reconfig' when
                        allow-new-zones was set to yes and named ACLs
                        were used. [RT #22739]
index 9f533970b5148964aa966d6da6d455e78a4c0d32..c889b4ba81ca5b8acbfc2589ddf60a2e909de020 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.582.8.20 2011/05/26 04:25:09 each Exp $ */
+/* $Id: zone.c,v 1.582.8.21 2011/07/06 19:02:40 each Exp $ */
 
 /*! \file */
 
 #define IO_MAGIC                       ISC_MAGIC('Z', 'm', 'I', 'O')
 #define DNS_IO_VALID(load)             ISC_MAGIC_VALID(load, IO_MAGIC)
 
+/*
+ * Size of the zone task table.  For best results, this should be a
+ * prime number, approximately 1% of the maximum number of authoritative
+ * zones expected to be served by this server.
+ */
+#define ZONE_TASKS 17
+
 /*%
  * Ensure 'a' is at least 'min' but not more than 'max'.
  */
@@ -12455,8 +12462,8 @@ dns_zonemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
        zmgr->transfersperns = 2;
 
        /* Create the zone task pool. */
-       result = isc_taskpool_create(taskmgr, mctx,
-                                    8 /* XXX */, 2, &zmgr->zonetasks);
+       result = isc_taskpool_create(taskmgr, mctx, ZONE_TASKS, 2,
+                                    &zmgr->zonetasks);
        if (result != ISC_R_SUCCESS)
                goto free_rwlock;