xfs
[Top] [All Lists]

Re: xfs buffers

To: kanishk rastogi <kanishk.85@xxxxxxxxx>
Subject: Re: xfs buffers
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Fri, 14 Aug 2009 12:57:22 -0500
Cc: xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <9ee2fe770908131117o5b7ec317me4524d020bbe216b@xxxxxxxxxxxxxx>
References: <9ee2fe770908131117o5b7ec317me4524d020bbe216b@xxxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.6 (Macintosh/20070728)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

kanishk rastogi wrote:
> hi all, I was trying to understand the xfs_buf_t management in XFS.
>  I was looking at the xfs_bufhash_t which is used to keep the info
> of buffers which have ongoing transactions. I wanted to know if it
> uses it for caching these pages.
>
> As far as i can see in xfs_buf_relse  calls ::
>
> list_del_init(&bp->b_hash_list);
>
> if the count drops down to 0 for the buffer...
>
> if (atomic_dec_and_lock(&bp->b_hold, &hash->bh_lock)) { if
> (bp->b_relse) { ----->set only in case of error??
> atomic_inc(&bp->b_hold); spin_unlock(&hash->bh_lock);
> (*(bp->b_relse)) (bp); } else if (bp->b_flags & XBF_FS_MANAGED) {
> ----> mostly unset......\
Indeed. that flag is used on exactly one buffer, the superblock.
Basically the superblock is pinned in memory and only flushed by the
filesystem.
> spin_unlock(&hash->bh_lock); } else { ASSERT(!(bp->b_flags &
> (XBF_DELWRI|_XBF_DELWRI_Q))); *list_del_init(&bp->b_hash_list);*
> spin_unlock(&hash->bh_lock); xfs_buf_free(bp); } }
>
> ---------------
>
> CMIIW: So it doesnt keeps buffers if they are not in use....  ??
buffers are released back to the buf_t  zone when they are done.

zone allocation / free is very fast so managing lists of "free"
buffers doesn't make a lot of sense.

>
> I dont think that should be the case...
>
> -- regards kanishk
>
> ----------------------------------------------------------------------
>
>
> _______________________________________________ xfs mailing list
> xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKhaWBNRmM+OaGhBgRAtqgAJ9CZfj0QXz8Yy7P4jYemgEPsvR9pQCfcSWM
a9OI8A4ckMdOuiXQ60o4PLE=
=OJAD
-----END PGP SIGNATURE-----

<Prev in Thread] Current Thread [Next in Thread>