]> git.karo-electronics.de Git - karo-tx-linux.git/commit
dm mpath: delay the requeue of blk-mq requests while all paths down
authorMike Snitzer <snitzer@redhat.com>
Fri, 9 Sep 2016 23:26:19 +0000 (19:26 -0400)
committerMike Snitzer <snitzer@redhat.com>
Thu, 15 Sep 2016 15:16:17 +0000 (11:16 -0400)
commitb88efd43f900d608560211a18a38d450f8192948
tree417d31d35bdcda72b55882c8b0137b4799fdb6e8
parent7e48c768f44056a06bca596577c37f7721b53f0c
dm mpath: delay the requeue of blk-mq requests while all paths down

Return DM_MAPIO_DELAY_REQUEUE from .clone_and_map_rq.  Also, return
false from .busy, if all paths are down, so that blk-mq requests get
mapped via .clone_and_map_rq -- which results in DM_MAPIO_DELAY_REQUEUE
being returned to dm-rq.

This change allows for a noticeable reduction in cpu utilization
(reduced kworker load) while all paths are down, e.g.:

system CPU idleness (as measured by fio's --idle-prof=system):
before: system: 86.58%
after:  system: 98.60%

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
drivers/md/dm-mpath.c