On Thu, Apr 27 2017 at 1:11P -0400, Bart Van Assche <bart.vanassche@xxxxxxxxxxx> 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@xxxxxxxxxxx> > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> 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) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel