On Tue, Mar 16, 2010 at 10:17:22PM +0000, Kip Macy wrote: > Author: kmacy > Date: Tue Mar 16 22:17:21 2010 > New Revision: 205231 > URL: http://svn.freebsd.org/changeset/base/205231 > > Log: > - reduce contention by breaking up ARC state locks in to 16 for data > and 16 for metadata > - export L2ARC tunables as sysctls > - add several kstats to track L2ARC state more precisely > - avoid holding a contended lock when atomically incrementing a > contended counter (no lock protection needed for atomics) [...] > @@ -2505,6 +2731,7 @@ arc_read(zio_t *pio, spa_t *spa, blkptr_ > uint32_t *arc_flags, const zbookmark_t *zb) > { > int err; > + arc_buf_hdr_t *hdr = pbuf->b_hdr; > > ASSERT(!refcount_is_zero(&pbuf->b_hdr->b_refcnt)); > ASSERT3U((char *)bp - (char *)pbuf->b_data, <, pbuf->b_hdr->b_size); > @@ -2513,8 +2740,8 @@ arc_read(zio_t *pio, spa_t *spa, blkptr_ > err = arc_read_nolock(pio, spa, bp, done, private, priority, > zio_flags, arc_flags, zb); > > + ASSERT3P(hdr, ==, pbuf->b_hdr); > rw_exit(&pbuf->b_lock); > - > return (err); > } [...]
This commit reverted my fix, which I committed in r204804. -- Pawel Jakub Dawidek http://www.wheelsystems.com p...@freebsd.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am!
pgp9YmhTQ4nnD.pgp
Description: PGP signature