bin/144446: commit references a PR
dfilter service
dfilter at FreeBSD.ORG
Mon Apr 5 10:20:05 UTC 2010
The following reply was made to PR bin/144446; it has been noted by GNATS.
From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: bin/144446: commit references a PR
Date: Mon, 5 Apr 2010 10:12:35 +0000 (UTC)
Author: avg
Date: Mon Apr 5 10:12:21 2010
New Revision: 206178
URL: http://svn.freebsd.org/changeset/base/206178
Log:
libc/db/hash: cap auto-tuned block size with a value that actually works
This fix mostly matters after r206129 that made it possible for
st_blksize to be greater than 4K. For this reason, this change should
be MFC-ed before r206129.
Also, it seems that all FreeBSD uitlities that use db(3) hash databases
and create new databases in files, specify their own block size value
and thus do not depend on block size autotuning.
PR: bin/144446
Submitted by: Peter Jeremy <peterjeremy at acm.org>
MFC after: 5 days
Modified:
head/lib/libc/db/hash/hash.c
head/lib/libc/db/hash/hash.h
Modified: head/lib/libc/db/hash/hash.c
==============================================================================
--- head/lib/libc/db/hash/hash.c Mon Apr 5 10:01:53 2010 (r206177)
+++ head/lib/libc/db/hash/hash.c Mon Apr 5 10:12:21 2010 (r206178)
@@ -293,6 +293,8 @@ init_hash(HTAB *hashp, const char *file,
if (stat(file, &statbuf))
return (NULL);
hashp->BSIZE = statbuf.st_blksize;
+ if (hashp->BSIZE > MAX_BSIZE)
+ hashp->BSIZE = MAX_BSIZE;
hashp->BSHIFT = __log2(hashp->BSIZE);
}
Modified: head/lib/libc/db/hash/hash.h
==============================================================================
--- head/lib/libc/db/hash/hash.h Mon Apr 5 10:01:53 2010 (r206177)
+++ head/lib/libc/db/hash/hash.h Mon Apr 5 10:12:21 2010 (r206178)
@@ -118,7 +118,7 @@ typedef struct htab { /* Memory reside
/*
* Constants
*/
-#define MAX_BSIZE 65536 /* 2^16 */
+#define MAX_BSIZE 32768 /* 2^15 but should be 65536 */
#define MIN_BUFFERS 6
#define MINHDRSIZE 512
#define DEF_BUFSIZE 65536 /* 64 K */
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
More information about the freebsd-bugs
mailing list