Re: [PATCH] Btrfs: do not wait after queue async work for delaye refs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 12, 2018 at 10:19:23AM +0300, Nikolay Borisov wrote:
> [Adding Josef to CC]
> 
> On 12.09.2018 01:06, Liu Bo wrote:
> > If metadata space is hungry, how fast flush_space() can run determines
> > the latency we spend in reserve_metadata_space().
> > 
> > flush_space()
> >    case FLUSH_DELAYED_ITEMS:
> >       ...
> >       btrfs_end_transaction()
> >    case ALLOC_CHUNK:
> >       ...
> >       btrfs_end_transaction()
> > 
> > btrfs_end_transaction()
> >    btrfs_async_run_delayed_refs()
> >        // queue a work to process delayed refs
> >        ...
> >        if (wait)
> >            wait_for_completion()
> > 
> > Although processing delayed refs can add to pinned bytes, pinned bytes
> > can only be used after committing transaction, so waiting async in
> > flush_space() doesn't help.

Nack, but just because I get rid of all of this code in my delayed refs rsv
patchset.  Thanks,

Josef



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux