Hi Chenbo, >-----Original Message----- >From: Xia, Chenbo <chenbo....@intel.com> >Sent: Monday, November 1, 2021 5:19 PM >To: Vijay Kumar Srivastava <vsriv...@xilinx.com>; dev@dpdk.org >Cc: maxime.coque...@redhat.com; andrew.rybche...@oktetlabs.ru; Vijay >Kumar Srivastava <vsriv...@xilinx.com> >Subject: RE: [PATCH v3 02/10] vdpa/sfc: add support for device initialization > >Hi Vijay, > >> -----Original Message----- >> From: Vijay Srivastava <vijay.srivast...@xilinx.com> >> Sent: Friday, October 29, 2021 10:47 PM >> To: dev@dpdk.org >> Cc: maxime.coque...@redhat.com; Xia, Chenbo <chenbo....@intel.com>; >> andrew.rybche...@oktetlabs.ru; Vijay Kumar Srivastava >> <vsriv...@xilinx.com> >> Subject: [PATCH v3 02/10] vdpa/sfc: add support for device >> initialization >> >> From: Vijay Kumar Srivastava <vsriv...@xilinx.com> >> >> Add HW initialization and vDPA device registration support. >> >> Signed-off-by: Vijay Kumar Srivastava <vsriv...@xilinx.com> >> Acked-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> >> --- [SNIP] >> + >> + do { >> + ret = rte_vfio_container_dma_map(sva->vfio_container_fd, >> + (uint64_t)mz->addr, >mcdi_iova, >> + mcdi_buff_size); >> + if (ret == 0) >> + break; >> + >> + mcdi_iova = mcdi_iova >> 1; >> + if (mcdi_iova < mcdi_buff_size) { >> + sfc_vdpa_err(sva, >> + "DMA mapping failed for MCDI : %s", >> + rte_strerror(rte_errno)); >> + rte_memzone_free(mz); >> + return ret; >> + } >> + >> + } while (ret < 0); > >So when QEMU iova and mcdi_iova conflicts, you just let vdpa dev failed to >configure, right? > >Why not use re-mapping mcdi dma region as the solution? Any side-effect? >Or you just assume conflict can hardly happen?
MCDI configuration is being done at the very early point of initialization. Conflict would be detected later when rte_vhost_get_mem_table() would be invoked in .dev_conf callback and then MCDI re-mapping can be done in case of conflict, for this a patch is in progress which would be submitted separately. Regards, Vijay [SNIP]