Jason Wang
2023-Apr-24 03:50 UTC
[PATCH 0/5] vDPA/ifcvf: implement immediate initialization mechanism
On Thu, Apr 20, 2023 at 5:17?PM Zhu, Lingshan <lingshan.zhu at intel.com> wrote:> > > > 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? > pingWill go through this this week. Thanks> > > > 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 > >>> > > >
Michael S. Tsirkin
2023-Apr-24 04:52 UTC
[PATCH 0/5] vDPA/ifcvf: implement immediate initialization mechanism
On Mon, Apr 24, 2023 at 11:50:20AM +0800, Jason Wang wrote:> On Thu, Apr 20, 2023 at 5:17?PM Zhu, Lingshan <lingshan.zhu at intel.com> wrote: > > > > > > > > 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 > > Will go through this this week. > > Thankswhy do you expect it to go through, you didn't ack?> > > > > > 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 > > >>> > > > > >