Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1346165

Re: [PATCH block/for-linus] writeback: flush inode cgroup wb switches instead of pinning super_block

From Tejun Heo <tj@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH block/for-linus] writeback: flush inode cgroup wb switches instead of pinning super_block
Date 2016-02-29 22:00 +0100
Message-ID <r7D59-7Z4-25@gated-at.bofh.it> (permalink)
References (5 earlier) <r3iLE-4sg-3@gated-at.bofh.it> <r3j50-4A2-27@gated-at.bofh.it> <r3jol-4YQ-3@gated-at.bofh.it> <r7CVr-7Vn-1@gated-at.bofh.it> <r7D58-7Z4-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, Feb 29, 2016 at 08:54:28PM +0000, Al Viro wrote:
> > This patch removes the problematic super_block pinning and instead
> > makes generic_shutdown_super() flush in-flight wb switches.  wb
> > switches are now executed on a dedicated isw_wq so that they can be
> > flushed and isw_nr_in_flight keeps track of the number of in-flight wb
> > switches so that flushing can be avoided in most cases.
> 
> Wait a bloody minute.  What's to prevent shrink_dcache_for_umount() from
> dirtying more inodes, triggering more of the same?

Hmmm?  The flushing is done after shrink_dcache_for_umount() and
sync_filesystems().  Aren't inodes supposed to stay clean after that?

> > -	if (!atomic_inc_not_zero(&inode->i_sb->s_active))
> > -		goto out_unlock;
> 
> This would've failed for inodes on superblock in the middle of shutdown;
> what's to do the same for the new variant?

I don't follow.  As long as no new writeback operations are initiated
after flushing, none can be in flight for the super_block.  Isn't that
enough?

Thanks.

-- 
tejun

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH block/for-linus] writeback: flush inode cgroup wb switches  instead of pinning super_block Tejun Heo <tj@kernel.org> - 2016-02-29 21:50 +0100
  Re: [PATCH block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Al Viro <viro@ZenIV.linux.org.uk> - 2016-02-29 22:00 +0100
    Re: [PATCH block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Tejun Heo <tj@kernel.org> - 2016-02-29 22:00 +0100
      Re: [PATCH block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Tejun Heo <tj@kernel.org> - 2016-02-29 22:10 +0100
        Re: [PATCH block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Jan Kara <jack@suse.cz> - 2016-02-29 22:30 +0100
      Re: [PATCH block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Al Viro <viro@ZenIV.linux.org.uk> - 2016-02-29 22:10 +0100
  [PATCH v2 block/for-linus] writeback: flush inode cgroup wb switches  instead of pinning super_block Tejun Heo <tj@kernel.org> - 2016-03-01 00:30 +0100
    Re: [PATCH v2 block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Jan Kara <jack@suse.cz> - 2016-03-01 10:30 +0100
    Re: [PATCH v2 block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Jens Axboe <axboe@kernel.dk> - 2016-03-01 18:50 +0100
      Re: [PATCH v2 block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Tejun Heo <tj@kernel.org> - 2016-03-01 19:00 +0100
        Re: [PATCH v2 block/for-linus] writeback: flush inode cgroup wb  switches instead of pinning super_block Jan Kara <jack@suse.cz> - 2016-03-02 11:30 +0100
  Re: [PATCH block/for-linus] writeback: flush inode cgroup wb switches  instead of pinning super_block Tahsin Erdogan <tahsin@google.com> - 2016-03-01 14:40 +0100

csiph-web