1. 02 Aug, 2018 4 commits
    • Ming Lei's avatar
      blk-mq: fix updating tags depth · 75d6e175
      Ming Lei authored
      The passed 'nr' from userspace represents the total depth, meantime
      inside 'struct blk_mq_tags', 'nr_tags' stores the total tag depth,
      and 'nr_reserved_tags' stores the reserved part.
      
      There are two issues in blk_mq_tag_update_depth() now:
      
      1) for growing tags, we should have used the passed 'nr', and keep the
      number of reserved tags not changed.
      
      2) the passed 'nr' should have been used for checking against
      'tags->nr_tags', instead of number of the normal part.
      
      This patch fixes the above two cases, and avoids kernel crash caused
      by wrong resizing sbitmap queue.
      
      Cc: "Ewan D. Milne" <emilne@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Bart Van Assche <bart.vanassche@sandisk.com>
      Cc: Omar Sandoval <osandov@fb.com>
      Tested by: Marco Patalano <mpatalan@redhat.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      75d6e175
    • Ming Lei's avatar
      block: really disable runtime-pm for blk-mq · b233f127
      Ming Lei authored
      Runtime PM isn't ready for blk-mq yet, and commit 765e40b6 ("block:
      disable runtime-pm for blk-mq") tried to disable it. Unfortunately,
      it can't take effect in that way since user space still can switch
      it on via 'echo auto > /sys/block/sdN/device/power/control'.
      
      This patch disables runtime-pm for blk-mq really by pm_runtime_disable()
      and fixes all kinds of PM related kernel crash.
      
      Cc: Tomas Janousek <tomi@nomi.cz>
      Cc: Przemek Socha <soprwa@gmail.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: <stable@vger.kernel.org>
      Reviewed-by: default avatarBart Van Assche <bart.vanassche@wdc.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Tested-by: default avatarPatrick Steinhardt <ps@pks.im>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b233f127
    • Gustavo A. R. Silva's avatar
      aoe: mark expected switch fall-through · 99972f17
      Gustavo A. R. Silva authored
      In preparation to enabling -Wimplicit-fallthrough, mark switch cases
      where we are expecting to fall through.
      
      Addresses-Coverity-ID: 114722 ("Missing break in switch")
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      99972f17
    • Dennis Zhou (Facebook)'s avatar
      block: make iolatency avg_lat exponentially decay · c480bcf9
      Dennis Zhou (Facebook) authored
      Currently, avg_lat is calculated by accumulating the mean of every
      window in a long running cumulative average. As time goes on, the metric
      becomes less and less useful due to the accumulated history.
      
      This patch reuses the same calculation done in load averages to make the
      avg_lat metric more lively. Unlike load averages, the avg only advances
      when a window elapses (due to an io). Idle periods extend the most
      recent window. Bucketing is used to limit the history of avg_lat by
      binding it to the window size. So, the window range for 1/exp (decay
      rate) is [1 min, 2.5 min) when windows elapse immediately.
      
      The current sample window size is exposed in the debug info to enable
      calculation of the window range.
      Signed-off-by: default avatarDennis Zhou <dennisszhou@gmail.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: default avatarJosef Bacik <josef@toxicpanda.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      c480bcf9
  2. 01 Aug, 2018 4 commits
  3. 31 Jul, 2018 1 commit
  4. 30 Jul, 2018 5 commits
  5. 28 Jul, 2018 1 commit
  6. 27 Jul, 2018 12 commits
  7. 26 Jul, 2018 2 commits
  8. 25 Jul, 2018 2 commits
    • Juergen Gross's avatar
      xen/blkfront: remove unused macros · d3df0ac0
      Juergen Gross authored
      Remove some macros not used anywhere.
      Acked-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d3df0ac0
    • Jens Axboe's avatar
      Merge branch 'nvme-4.19' of git://git.infradead.org/nvme into for-4.19/block · eca53cb6
      Jens Axboe authored
      Pull NVMe updates from Christoph:
      
      "Highlights:
      
       - massively improved tracepoints (Keith Busch)
       - support for larger inline data in the RDMA host and target
         (Steve Wise)
       - RDMA setup/teardown path fixes and refactor (Sagi Grimberg)
       - Command Supported and Effects log support for the NVMe target
         (Chaitanya Kulkarni)
       - buffered I/O support for the NVMe target (Chaitanya Kulkarni)
      
       plus the usual set of cleanups and small enhancements."
      
      * 'nvme-4.19' of git://git.infradead.org/nvme:
        nvmet: don't use uuid_le type
        nvmet: check fileio lba range access boundaries
        nvmet: fix file discard return status
        nvme-rdma: centralize admin/io queue teardown sequence
        nvme-rdma: centralize controller setup sequence
        nvme-rdma: unquiesce queues when deleting the controller
        nvme-rdma: mark expected switch fall-through
        nvme: add disk name to trace events
        nvme: add controller name to trace events
        nvme: use hw qid in trace events
        nvme: cache struct nvme_ctrl reference to struct nvme_request
        nvmet-rdma: add an error flow for post_recv failures
        nvmet-rdma: add unlikely check in the fast path
        nvmet-rdma: support max(16KB, PAGE_SIZE) inline data
        nvme-rdma: support up to 4 segments of inline data
        nvmet: add buffered I/O support for file backed ns
        nvmet: add commands supported and effects log page
        nvme: move init of keep_alive work item to controller initialization
        nvme.h: resync with nvme-cli
      eca53cb6
  9. 24 Jul, 2018 9 commits