xfs
[Top] [All Lists]

Re: [PATCH 06/17] xfs: simplify log item descriptor tracking

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 06/17] xfs: simplify log item descriptor tracking
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 2 Jun 2010 15:11:47 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20100531160900.319050257@xxxxxxxxxxxxxxxxxxxxxx>
References: <20100531160727.842750532@xxxxxxxxxxxxxxxxxxxxxx> <20100531160900.319050257@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Mon, May 31, 2010 at 12:07:33PM -0400, Christoph Hellwig wrote:
> Currently we track log item descriptor belonging to a transaction using a
> complex opencoded chunk allocator.  This code has been there since day one
> and seems to work around the lack of an efficient slab allocator.
> 
> This patch replaces it with dynamically allocated log item descriptors
> from a dedicated slab pool, linked to the transaction by a linked list.
> 
> This allows to greatly simplify the log item descriptor tracking to the
> point where it's just a couple hundred lines in xfs_trans.c instead of
> a separate file.  The external API has also been simplified while we're
> at it - the xfs_trans_add_item and xfs_trans_del_item functions to add/
> delete items from a transaction have been simplified to the bare minium,
> and the xfs_trans_find_item function is replaced with a direct dereference
> of the li_desc field.  All debug code walking the list of log items in
> a transaction is down to a simple list_for_each_entry.
> 
> Note that we could easily use a singly linked list here instead of the
> double linked list from list.h as the fastpath only does deletion from
> sequential traversal.  But given that we don't have one available as
> a library function yet I use the list.h functions for simplicity.
> 
> [the patch applies ontop of Dave's delayed-logging branch]
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Looks OK - nothing jumps out at me as being incorrect. I'm still
running QA on it, but it looks good so far.

Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>

-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [PATCH 06/17] xfs: simplify log item descriptor tracking, Dave Chinner <=