1. 19 6月, 2017 25 次提交
  2. 18 6月, 2017 1 次提交
    • N
      loop: Add PF_LESS_THROTTLE to block/loop device thread. · b2ee7d46
      NeilBrown 提交于
      When a filesystem is mounted from a loop device, writes are
      throttled by balance_dirty_pages() twice: once when writing
      to the filesystem and once when the loop_handle_cmd() writes
      to the backing file.  This double-throttling can trigger
      positive feedback loops that create significant delays.  The
      throttling at the lower level is seen by the upper level as
      a slow device, so it throttles extra hard.
      
      The PF_LESS_THROTTLE flag was created to handle exactly this
      circumstance, though with an NFS filesystem mounted from a
      local NFS server.  It reduces the throttling on the lower
      layer so that it can proceed largely unthrottled.
      
      To demonstrate this, create a filesystem on a loop device
      and write (e.g. with dd) several large files which combine
      to consume significantly more than the limit set by
      /proc/sys/vm/dirty_ratio or dirty_bytes.  Measure the total
      time taken.
      
      When I do this directly on a device (no loop device) the
      total time for several runs (mkfs, mount, write 200 files,
      umount) is fairly stable: 28-35 seconds.
      When I do this over a loop device the times are much worse
      and less stable.  52-460 seconds.  Half below 100seconds,
      half above.
      When I apply this patch, the times become stable again,
      though not as fast as the no-loop-back case: 53-72 seconds.
      
      There may be room for further improvement as the total overhead still
      seems too high, but this is a big improvement.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NMing Lei <tom.leiming@gmail.com>
      Suggested-by: NMichal Hocko <mhocko@suse.com>
      Acked-by: NMichal Hocko <mhocko@suse.com>
      Signed-off-by: NNeilBrown <neilb@suse.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      b2ee7d46
  3. 17 6月, 2017 1 次提交
    • J
      Merge branch 'nvme-4.13' of git://git.infradead.org/nvme into for-4.13/block · c27b2d63
      Jens Axboe 提交于
      Pull NVMe changes for 4.13 from Christoph:
      
      Highlights:
      
       - UUID identifier support from Johannes
       - Lots of cleanups from Sagi
       - Host Memory Buffer support from me
      
      And lots of cleanups and smaller fixes of course.
      
      Note that the UUID identifier changes are based on top of the uuid tree.
      I am the maintainer of that tree and will send it to Linus as soon as
      4.12 is released as various other trees depend on it as well (and the
      diffstat includes those changes unfortunately)
      c27b2d63
  4. 16 6月, 2017 3 次提交
  5. 15 6月, 2017 10 次提交