xfs
[Top] [All Lists]

[XFS updates] XFS development tree branch, xfs-stack-fixes, created. xfs

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, xfs-stack-fixes, created. xfs-for-linus-v3.14-rc1-2-12923-g93a8614
From: xfs@xxxxxxxxxxx
Date: Thu, 27 Feb 2014 00:37:01 -0600 (CST)
Delivered-to: xfs@xxxxxxxxxxx
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, xfs-stack-fixes has been created
        at  93a8614e3a4dccd526aca34e892ac0b27f64b506 (commit)

- Log -----------------------------------------------------------------
commit 93a8614e3a4dccd526aca34e892ac0b27f64b506
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date:   Thu Feb 27 16:51:39 2014 +1100

    xfs: fix directory inode iolock lockdep false positive
    
    The change to add the IO lock to protect the directory extent map
    during readdir operations has cause lockdep to have a heart attack
    as it now sees a different locking order on inodes w.r.t. the
    mmap_sem because readdir has a different ordering to write().
    
    Add a new lockdep class for directory inodes to avoid this false
    positive.
    
    Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Reviewed-by: Christoph Hellwig <hch@xxxxxx>
    Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>

commit a1358aa3d39251c16c6d8b20945e40bdfc2aad68
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date:   Thu Feb 27 16:51:26 2014 +1100

    xfs: allocate xfs_da_args to reduce stack footprint
    
    The struct xfs_da_args used to pass directory/attribute operation
    information to the lower layers is 128 bytes in size and is
    allocated on the stack. Dynamically allocate them to reduce the
    stack footprint of directory operations.
    
    Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
    Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>

commit f876e44603ad091c840a5fae5b0753bbb421c037
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date:   Thu Feb 27 16:40:42 2014 +1100

    xfs: always do log forces via the workqueue
    
    Log forces can occur deep in the call chain when we have relatively
    little stack free. Log forces can also happen at close to the call
    chain leaves (e.g. xfs_buf_lock()) and hence we can trigger IO from
    places where we really don't want to add more stack overhead.
    
    This stack overhead occurs because log forces do foreground CIL
    pushes (xlog_cil_push_foreground()) rather than waking the
    background push wq and waiting for the for the push to complete.
    This foreground push was done to avoid confusing the CFQ Io
    scheduler when fsync()s were issued, as it has trouble dealing with
    dependent IOs being issued from different process contexts.
    
    Avoiding blowing the stack is much more critical than performance
    optimisations for CFQ, especially as we've been recommending against
    the use of CFQ for XFS since 3.2 kernels were release because of
    it's problems with multi-threaded IO workloads.
    
    Hence convert xlog_cil_push_foreground() to move the push work
    to the CIL workqueue. We already do the waiting for the push to
    complete in xlog_cil_force_lsn(), so there's nothing else we need to
    modify to make this work.
    
    Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
    Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>

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


hooks/post-receive
-- 
XFS development tree

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, xfs-stack-fixes, created. xfs-for-linus-v3.14-rc1-2-12923-g93a8614, xfs <=