]> git.baikalelectronics.ru Git - kernel.git/commit
dm round robin: revert "use percpu 'repeat_count' and 'current_path'"
authorMike Snitzer <snitzer@redhat.com>
Fri, 17 Feb 2017 04:57:17 +0000 (23:57 -0500)
committerMike Snitzer <snitzer@redhat.com>
Fri, 17 Feb 2017 05:54:09 +0000 (00:54 -0500)
commitc3a3bf7a404ae4d3e4390e8c85765bb17c847801
tree3800aa0a250b90b0325476a7b5ab1680dda5aac7
parentc8fa4f2d7156e0938e1a775a411974dee876aa26
dm round robin: revert "use percpu 'repeat_count' and 'current_path'"

The sloppy nature of lockless access to percpu pointers
(s->current_path) in rr_select_path(), from multiple threads, is
causing some paths to used more than others -- which results in less
IO performance being observed.

Revert these upstream commits to restore truly symmetric round-robin
IO submission in DM multipath:

a8b6840 dm round robin: use percpu 'repeat_count' and 'current_path'
777ba5b dm round robin: do not use this_cpu_ptr() without having preemption disabled

There is no benefit to all this complexity if repeat_count = 1 (which is
the recommended default).

Cc: stable@vger.kernel.org # 4.6+
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-round-robin.c