1. 18 Jun, 2017 2 commits
    • Christoph Hellwig's avatar
      blk-mq: mark blk_mq_rq_ctx_init static · 6e15cf2a
      Christoph Hellwig authored
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      6e15cf2a
    • NeilBrown's avatar
      loop: Add PF_LESS_THROTTLE to block/loop device thread. · b2ee7d46
      NeilBrown authored
      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: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarMing Lei <tom.leiming@gmail.com>
      Suggested-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      b2ee7d46
  2. 16 Jun, 2017 4 commits
  3. 15 Jun, 2017 34 commits