xfs
[Top] [All Lists]

[XFS updates] XFS development tree branch, master, updated. v2.6.38-1012

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.38-10123-g8c1fdd0
From: xfs@xxxxxxxxxxx
Date: Thu, 28 Apr 2011 21:57:01 -0500
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "XFS development tree".

The branch, master has been updated
  8c1fdd0 xfs: add an x86 compat handler for XFS_IOC_ZERO_RANGE
  1a18a29 xfs: fix compiler warning in xfs_trace.h
  45c51b9 xfs: cleanup duplicate initializations
  8a072a4 xfs: reduce the number of pagb_lock roundtrips in xfs_alloc_clear_busy
  97d3ac7 xfs: exact busy extent tracking
  e26f050 xfs: do not immediately reuse busy extent ranges
  a870acd xfs: optimize AGFL refills
      from  3eff1268994f72266b660782e87f215720c29639 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8c1fdd0be5498f852e00c5fbd9cb0c3969e46cc6
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Thu Apr 21 13:21:03 2011 +0000

    xfs: add an x86 compat handler for XFS_IOC_ZERO_RANGE
    
    XFS_IOC_ZERO_RANGE uses struct xfs_flock64, and thus requires argument
    translation for 32-bit binaries on x86.  Add the required
    XFS_IOC_ZERO_RANGE_32 defined and add it to the list of commands that
    require xfs_flock64 translation.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Alex Elder <aelder@xxxxxxx>

commit 1a18a29478a38e5df382cd299f636187fde773ab
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Sun Apr 24 19:02:58 2011 +0000

    xfs: fix compiler warning in xfs_trace.h
    
    xfs_fsblock_t may be a 32-bit type on if XFS_BIG_BLKNOS is not set,
    make sure to cast a value of this type to an unsigned long long
    before using the ll printk qualifier.
    
    Reported-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Alex Elder <aelder@xxxxxxx>

commit 45c51b99943c4c74165b19dc2f96e8ba93bdecb9
Author: David Sterba <dsterba@xxxxxxx>
Date:   Wed Apr 13 22:03:28 2011 +0000

    xfs: cleanup duplicate initializations
    
    follow these guidelines:
    - leave initialization in the declaration block if it fits the line
    - move to the code where it's more suitable ('for' init block)
    
    The last chunk was modified from David's original to be a correct
    fix for what appeared to be a duplicate initialization.
    
    Signed-off-by: David Sterba <dsterba@xxxxxxx>
    Signed-off-by: Alex Elder <aelder@xxxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>

commit 8a072a4d4c6a5b6ec32836c467d2996393c76c6f
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Sun Apr 24 19:06:17 2011 +0000

    xfs: reduce the number of pagb_lock roundtrips in xfs_alloc_clear_busy
    
    Instead of finding the per-ag and then taking and releasing the pagb_lock
    for every single busy extent completed sort the list of busy extents and
    only switch betweens AGs where nessecary.  This becomes especially important
    with the online discard support which will hit this lock more often.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Alex Elder <aelder@xxxxxxx>

commit 97d3ac75e5e0ebf7ca38ae74cebd201c09b97ab2
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Sun Apr 24 19:06:16 2011 +0000

    xfs: exact busy extent tracking
    
    Update the extent tree in case we have to reuse a busy extent, so that it
    always is kept uptodate.  This is done by replacing the busy list searches
    with a new xfs_alloc_busy_reuse helper, which updates the busy extent tree
    in case of a reuse.  This allows us to allow reusing metadata extents
    unconditionally, and thus avoid log forces especially for allocation btree
    blocks.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Alex Elder <aelder@xxxxxxx>

commit e26f0501cf743a4289603501413f97ffcb4612f2
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Sun Apr 24 19:06:15 2011 +0000

    xfs: do not immediately reuse busy extent ranges
    
    Every time we reallocate a busy extent, we cause a synchronous log force
    to occur to ensure the freeing transaction is on disk before we continue
    and use the newly allocated extent.  This is extremely sub-optimal as we
    have to mark every transaction with blocks that get reused as synchronous.
    
    Instead of searching the busy extent list after deciding on the extent to
    allocate, check each candidate extent during the allocation decisions as
    to whether they are in the busy list.  If they are in the busy list, we
    trim the busy range out of the extent we have found and determine if that
    trimmed range is still OK for allocation. In many cases, this check can
    be incorporated into the allocation extent alignment code which already
    does trimming of the found extent before determining if it is a valid
    candidate for allocation.
    
    Based on earlier patches from Dave Chinner.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Alex Elder <aelder@xxxxxxx>

commit a870acd9b2671de56514a430edfa7867823c31c9
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Sun Apr 24 19:06:14 2011 +0000

    xfs: optimize AGFL refills
    
    While we need to make sure we do not reuse busy extents, there is no need
    to force out busy extents when moving them between the AGFL and the
    freespace btree as we still take care of that when doing the real 
allocation.
    
    To avoid the log force when just moving extents from the different free
    space tracking structures, move the busy search out of
    xfs_alloc_get_freelist into the callers that need it, and move the busy
    list insert from xfs_free_ag_extent which is used both by AGFL refills
    and real allocation to xfs_free_extent, which is only used by the latter.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Alex Elder <aelder@xxxxxxx>

-----------------------------------------------------------------------

Summary of changes:
 fs/xfs/linux-2.6/xfs_buf.c     |    1 -
 fs/xfs/linux-2.6/xfs_ioctl32.c |    3 +-
 fs/xfs/linux-2.6/xfs_ioctl32.h |    1 +
 fs/xfs/linux-2.6/xfs_linux.h   |    1 +
 fs/xfs/linux-2.6/xfs_trace.h   |   76 ++---
 fs/xfs/xfs_ag.h                |    1 -
 fs/xfs/xfs_alloc.c             |  843 ++++++++++++++++++++++++++++------------
 fs/xfs/xfs_alloc.h             |   15 +-
 fs/xfs/xfs_alloc_btree.c       |   13 +-
 fs/xfs/xfs_dfrag.c             |    6 +-
 fs/xfs/xfs_inode_item.c        |    1 -
 fs/xfs/xfs_log.c               |    7 -
 fs/xfs/xfs_log.h               |    2 -
 fs/xfs/xfs_log_cil.c           |    5 +-
 fs/xfs/xfs_log_priv.h          |    2 +
 fs/xfs/xfs_mount.c             |    4 +-
 fs/xfs/xfs_trans.c             |    6 +-
 fs/xfs/xfs_types.h             |    2 -
 18 files changed, 639 insertions(+), 350 deletions(-)


hooks/post-receive
-- 
XFS development tree

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, master, updated. v2.6.38-10123-g8c1fdd0, xfs <=