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)
commit37a098e9d10db6e2efc05fe61e3a6ff2e9802c53
tree3800aa0a250b90b0325476a7b5ab1680dda5aac7
parent6085831883c25860264721df15f05bbded45e2a2
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:

b0b477c dm round robin: use percpu 'repeat_count' and 'current_path'
802934b 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