[lkml]   [2010]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subjectfs: break out inode operations from inode_lock V3
    Hi Al,

    This series is a merge of the two previous sets of patches that
    broke the inode LRU operations and the first half of iput_final()
    out from under the inode_lock and then split the lists under
    separate locks. The patches should apply to your current merge-stem
    tree. I can rebase it on a different tree if you want.

    Version 3:
    - remove up wake_up_inode() inode_lock avoidance optimisation as the
    inode_lock is no longer protecting i_state.
    - Added a BUG_ON() check to evict() to ensure that inodes are removed
    from the LRU before being evicted.
    - removed inode_lock from igrab() when removing inode_lock from the
    first half of iput_final()
    - added 3 patches to convert the per-sb inode list, the writeback lists and the
    inode hashes under their own locks. The changes from the first version of
    these patches (posted separately) are:
    - cleaned up comment for writeback_single_inode()
    - dropped __mark_inode_dirty() cleanup and just moved the minimum
    amount of code around to handle the locking changes cleanly.
    - moved adding inodes to sb list under the hash lock as well so we
    don't have inodes that are not on the per-sb lists on the hash.
    - added a patch to clean up inode_lock references in documentation and

    Version 2:
    - make i_state checks/__iget() atomic under inode->i_lock
    - merge dispose_one_inode() into evict()
    - move inode hash removal after ->evict_inode call.
    - always take the inode_lru_lock() when checking whether the inode
    is on the lru or not.

     \ /
      Last update: 2010-10-29 05:27    [W:0.020 / U:1.680 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site