Skip to content
  • Shaohua Li's avatar
    dquot: do full inode dirty in allocating space · d530148a
    Shaohua Li authored
    Alex Shi found a regression when doing ffsb test. The test has several threads,
    and each thread creates a small file, write to it and then delete it. ffsb
    reports about 20% regression and Alex bisected it to 43d2932d
    
    . The test
    will call __mark_inode_dirty 3 times. without this commit, we only take
    inode_lock one time, while with it, we take the lock 3 times with flags (
    I_DIRTY_SYNC,I_DIRTY_PAGES,I_DIRTY). Perf shows the lock contention increased
    too much. Below proposed patch fixes it.
    
    fs is allocating blocks, which usually means file writes and the inode
    will be dirtied soon. We fully dirty the inode to reduce some inode_lock
    contention in several calls of __mark_inode_dirty.
    
    Jan Kara: Added comment.
    
    Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
    Signed-off-by: default avatarAlex Shi <alex.shi@intel.com>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    d530148a