[PATCH 0/5] vDPA/ifcvf: implement immediate initialization mechanism

Zhu, Lingshan
Thu, 20 Apr 2023 09:17:15 -0000

On 4/3/2023 6:10 PM, Zhu, Lingshan wrote:
>
>
> On 4/3/2023 1:28 PM, Jason Wang wrote:
>> On Fri, Mar 31, 2023 at 8:49?PM Zhu Lingshan <lingshan.zhu at
intel.com>
>> wrote:
>>> Formerly, ifcvf driver has implemented a lazy-initialization
mechanism
>>> for the virtqueues and other config space contents,
>>> it would store all configurations that passed down from the
userspace,
>>> then load them to the device config space upon DRIVER_OK.
>>>
>>> This can not serve live migration, so this series implement an
>>> immediate initialization mechanism, which means rather than the
>>> former store-load process, the virtio operations like vq ops
>>> would take immediate actions by access the virtio registers.
>> Is there any chance that ifcvf can use virtio_pci_modern_dev library?
>>
>> Then we don't need to duplicate the codes.
>>
>> Note that pds_vdpa will be the second user for virtio_pci_modern_dev
>> library (and the first vDPA parent to use that library).
> Yes I agree this library can help a lot for a standard virtio pci device.
> But this change would be huge, its like require to change every line of
> the driver. For example current driver functions work on the adapter and
> ifcvf_hw, if we wants to reuse the lib, we need the driver work on
> struct virtio_pci_modern_device.
> Almost need to re-write the driver.
>
> Can we plan this huge change in following series?
ping
>
> Thanks,
> Zhu Lingshan
>>
>> Thanks
>>
>>> This series also implement irq synchronization in the reset
>>> routine
>>>
>>> Zhu Lingshan (5):
>>> ?? virt queue ops take immediate actions
>>> ?? get_driver_features from virito registers
>>> ?? retire ifcvf_start_datapath and ifcvf_add_status
>>> ?? synchronize irqs in the reset routine
>>> ?? a vendor driver should not set _CONFIG_S_FAILED
>>>
>>> ? drivers/vdpa/ifcvf/ifcvf_base.c | 162
>>> +++++++++++++++++++-------------
>>> ? drivers/vdpa/ifcvf/ifcvf_base.h |? 16 ++--
>>> ? drivers/vdpa/ifcvf/ifcvf_main.c |? 97 ++++---------------
>>> ? 3 files changed, 122 insertions(+), 153 deletions(-)
>>>
>>> --
>>> 2.39.1
>>>
>