[dm-devel] [PATCH v2 11/13] dm-mpath: Micro-optimize the hot path
Mike Snitzer
snitzer at redhat.com
Thu Apr 27 20:39:48 UTC 2017
On Thu, Apr 27 2017 at 1:11P -0400,
Bart Van Assche <bart.vanassche at sandisk.com> wrote:
> Instead of checking MPATHF_QUEUE_IF_NO_PATH,
> MPATHF_SAVED_QUEUE_IF_NO_PATH and the no_flush flag to decide whether
> or not to push back a request if there are no paths available, only
> clear MPATHF_QUEUE_IF_NO_PATH in queue_if_no_path() if no_flush has
> not been set. The result is that only a single bit has to be tested
> in the hot path to decide whether or not a request must be pushed
> back and also that m->lock does not have to be taken in the hot path.
>
> Signed-off-by: Bart Van Assche <bart.vanassche at sandisk.com>
> Reviewed-by: Hannes Reinecke <hare at suse.com>
This patch was very demanding to review.. all that old must_push_back()
code was very tedious. Happy to see it go. BUT I'm left nervous that
something might regress. Not because of something overlooked (though
that could happen).. just that its a particularly delicate portion of
the mpath target's suspend/resume handling.
Kudos to you for tackling this. Staged in dm-4.12 for 4.12 inclusion
(will push it out once I go back over what I've staged)
More information about the dm-devel
mailing list