On Fri, Jul 30, 2021 at 03:18:30PM +0200, Jack Wang wrote: > From: Gioh Kim <gi-oh.kim@xxxxxxxxx> > > There are mis-match at counting inflight IO after changing the > multipath policy. > For example, we started fio test with round-robin policy and then > we changed the policy to min-inflight. IOs created under the RR policy > is finished under the min-inflight policy and inflight counter > only decreased. So the counter would be negative value. > And also we started fio test with min-inflight policy and > changed the policy to the round-robin. IOs created under the > min-inflight policy increased the inflight IO counter but the > inflight IO counter was not decreased because the policy was > the round-robin when IO was finished. > > So it should count IOs only if the IO is created under the > min-inflight policy. It should not care the policy when the IO > is finished. > > This patch adds a field mp_policy in struct rtrs_clt_io_req and > stores the multipath policy when an object of rtrs_clt_io_req is > created. Then rtrs-clt checks the mp_policy of only struct > rtrs_clt_io_req instead of the struct rtrs_clt. > > Signed-off-by: Gioh Kim <gi-oh.kim@xxxxxxxxx> > Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxx> > --- > drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 2 +- > drivers/infiniband/ulp/rtrs/rtrs-clt.c | 7 ++++--- > drivers/infiniband/ulp/rtrs/rtrs-clt.h | 1 + > 3 files changed, 6 insertions(+), 4 deletions(-) > Thanks, Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxx>