• Gioh Kim's avatar
    RDMA/rtrs-clt: Fix counting inflight IO · 0d8f2cfa
    Gioh Kim authored
    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.
    
    Link: https://lore.kernel.org/r/20210806112112.124313-6-haris.iqbal@ionos.comSigned-off-by: default avatarGioh Kim <gi-oh.kim@ionos.com>
    Signed-off-by: default avatarJack Wang <jinpu.wang@ionos.com>
    Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
    Signed-off-by: default avatarMd Haris Iqbal <haris.iqbal@ionos.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    0d8f2cfa
rtrs-clt-stats.c 4.79 KB