Re: [PATCH 0/3] Move tagset reinit to its only current consumer, nvme-core

2017-09-07 Thread Max Gurtovoy



On 9/6/2017 6:30 PM, Sagi Grimberg wrote:

As suggested by Bart Van Assche, get rid of
blk_mq_reinit_tagset and move it to nvme-core (its
only current consumer).

Instead, introduce a more generic tagset iterator helper.

Sagi Grimberg (3):
   block: introduce blk_mq_tagset_iter
   nvme: introduce nvme_reinit_tagset
   block: remove blk_mq_reinit_tagset

  block/blk-mq-tag.c   | 11 +--
  drivers/nvme/host/core.c | 13 +
  drivers/nvme/host/fc.c   |  3 ++-
  drivers/nvme/host/nvme.h |  2 ++
  drivers/nvme/host/rdma.c |  7 +++
  include/linux/blk-mq.h   |  4 ++--
  6 files changed, 27 insertions(+), 13 deletions(-)



The series looks good to me,

Reviewed-by: Max Gurtovoy 

BTW, if we talking about the reinit_tagset, can you explain the 
motivation for dereg_mr and alloc new mr for the RDMA transport layer ?

we don't do it in iSER/SRP so I wonder what is special here ?
I got some local protection errors in MP tests and under high load FIO 
(that cause cmd TMO to expire and abort the cmds and then reconnect).
I wonder if there is a connection between the two. I'm also debugging a 
situation that we might have free/dereg/local_invalidate the MR before 
the QP moved to ERR state.


[PATCH 0/3] Move tagset reinit to its only current consumer, nvme-core

2017-09-06 Thread Sagi Grimberg
As suggested by Bart Van Assche, get rid of
blk_mq_reinit_tagset and move it to nvme-core (its
only current consumer).

Instead, introduce a more generic tagset iterator helper.

Sagi Grimberg (3):
  block: introduce blk_mq_tagset_iter
  nvme: introduce nvme_reinit_tagset
  block: remove blk_mq_reinit_tagset

 block/blk-mq-tag.c   | 11 +--
 drivers/nvme/host/core.c | 13 +
 drivers/nvme/host/fc.c   |  3 ++-
 drivers/nvme/host/nvme.h |  2 ++
 drivers/nvme/host/rdma.c |  7 +++
 include/linux/blk-mq.h   |  4 ++--
 6 files changed, 27 insertions(+), 13 deletions(-)

-- 
2.7.4