On Tue, Jul 9, 2019 at 3:19 PM Jason Gunthorpe <jgg@xxxxxxxxxxxx> wrote: > > On Tue, Jul 09, 2019 at 03:15:46PM +0200, Jinpu Wang wrote: > > On Tue, Jul 9, 2019 at 2:06 PM Jason Gunthorpe <jgg@xxxxxxxxxxxx> wrote: > > > > > > On Tue, Jul 09, 2019 at 01:37:39PM +0200, Jinpu Wang wrote: > > > > Leon Romanovsky <leon@xxxxxxxxxx> 于2019年7月9日周二 下午1:00写道: > > > > > > > > > > On Tue, Jul 09, 2019 at 11:55:03AM +0200, Danil Kipnis wrote: > > > > > > Hallo Doug, Hallo Jason, Hallo Jens, Hallo Greg, > > > > > > > > > > > > Could you please provide some feedback to the IBNBD driver and the > > > > > > IBTRS library? > > > > > > So far we addressed all the requests provided by the community and > > > > > > continue to maintain our code up-to-date with the upstream kernel > > > > > > while having an extra compatibility layer for older kernels in our > > > > > > out-of-tree repository. > > > > > > I understand that SRP and NVMEoF which are in the kernel already do > > > > > > provide equivalent functionality for the majority of the use cases. > > > > > > IBNBD on the other hand is showing higher performance and more > > > > > > importantly includes the IBTRS - a general purpose library to > > > > > > establish connections and transport BIO-like read/write sg-lists over > > > > > > RDMA, while SRP is targeting SCSI and NVMEoF is addressing NVME. While > > > > > > I believe IBNBD does meet the kernel coding standards, it doesn't have > > > > > > a lot of users, while SRP and NVMEoF are widely accepted. Do you think > > > > > > it would make sense for us to rework our patchset and try pushing it > > > > > > for staging tree first, so that we can proof IBNBD is well maintained, > > > > > > beneficial for the eco-system, find a proper location for it within > > > > > > block/rdma subsystems? This would make it easier for people to try it > > > > > > out and would also be a huge step for us in terms of maintenance > > > > > > effort. > > > > > > The names IBNBD and IBTRS are in fact misleading. IBTRS sits on top of > > > > > > RDMA and is not bound to IB (We will evaluate IBTRS with ROCE in the > > > > > > near future). Do you think it would make sense to rename the driver to > > > > > > RNBD/RTRS? > > > > > > > > > > It is better to avoid "staging" tree, because it will lack attention of > > > > > relevant people and your efforts will be lost once you will try to move > > > > > out of staging. We are all remembering Lustre and don't want to see it > > > > > again. > > > > > > > > > > Back then, you was asked to provide support for performance superiority. > > > > > Can you please share any numbers with us? > > > > Hi Leon, > > > > > > > > Thanks for you feedback. > > > > > > > > For performance numbers, Danil did intensive benchmark, and create > > > > some PDF with graphes here: > > > > https://github.com/ionos-enterprise/ibnbd/tree/master/performance/v4-v5.2-rc3 > > > > > > > > It includes both single path results also different multipath policy results. > > > > > > > > If you have any question regarding the results, please let us know. > > > > > > I kind of recall that last time the perf numbers were skewed toward > > > IBNBD because the invalidation model for MR was wrong - did this get > > > fixed? > > > > > > Jason > > > > Thanks Jason for feedback. > > Can you be more specific about "the invalidation model for MR was wrong" > > MR's must be invalidated before data is handed over to the block > layer. It can't leave MRs open for access and then touch the memory > the MR covers. > > IMHO this is the most likely explanation for any performance difference > from nvme.. > > > I checked in the history of the email thread, only found > > "I think from the RDMA side, before we accept something like this, I'd > > like to hear from Christoph, Chuck or Sagi that the dataplane > > implementation of this is correct, eg it uses the MRs properly and > > invalidates at the right time, sequences with dma_ops as required, > > etc. > > " > > And no reply from any of you since then. > > This task still needs to happen.. > > Jason We did extensive testing and cross-checked how iser and nvmeof does invalidation of MR, doesn't find a problem. + Chuck It will be appreciated if Christoph, Chuck, Sagi or Bart could give a check, thank you in advance. Thanks Jack