Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Apr 2010 10:20:04 GMT
From:      dfilter@FreeBSD.ORG (dfilter service)
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/144446: commit references a PR
Message-ID:  <201004051020.o35AK4mm083581@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/144446; it has been noted by GNATS.

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@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@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@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004051020.o35AK4mm083581>