dm round robin: use percpu 'repeat_count' and 'current_path'
authorMike Snitzer <snitzer@redhat.com>
Wed, 17 Feb 2016 20:04:05 +0000 (15:04 -0500)
committerMike Snitzer <snitzer@redhat.com>
Tue, 23 Feb 2016 03:34:42 +0000 (22:34 -0500)
commitb0b477c7e0dd93f8916d106018ded1331b81bf61
tree0b8329486138c196dc07855bbf43ad9130efbea1
parent90a4323ccfeaa2ef35a8f4c6443ee5106453d961
dm round robin: use percpu 'repeat_count' and 'current_path'

Now that dm-mpath core is lockless in the per-IO fast path it is
critical, for performance, to have the .select_path hook
(rr_select_path) also be as lockless as possible.

The new percpu members of 'struct selector' allow for lockless support
of 'repeat_count' governed repeat use of a previously selected path.  If
a path fails while it is 'current_path' the worst case is concurrent IO
might be mapped to the failed path until the .fail_path hook
(rr_fail_path) is called.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-round-robin.c