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]

Reply via email to