On Wed, May 13 2026, Samiullah Khawaja wrote:

> On Tue, May 12, 2026 at 02:29:19PM -0700, Vipin Sharma wrote:
>>On Tue, May 12, 2026 at 01:59:51PM -0700, David Matlack wrote:
>>> On Mon, May 11, 2026 at 4:48 PM Vipin Sharma <[email protected]> wrote:
>>>
>>> > diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
>>> > index c12d614fc6c4..019de053f116 100644
>>> > --- a/drivers/vfio/pci/Kconfig
>>> > +++ b/drivers/vfio/pci/Kconfig
>>> > @@ -45,13 +45,15 @@ config VFIO_PCI_IGD
>>> >
>>> >  config VFIO_PCI_LIVEUPDATE
>>> >         bool "VFIO PCI support for Live Update (EXPERIMENTAL)"
>>> > -       depends on PCI_LIVEUPDATE
>>> > +       depends on PCI_LIVEUPDATE && VFIO_DEVICE_CDEV
>>> >         help
>>> >           Support for preserving devices bound to vfio-pci across a Live
>>> >           Update. This option should only be enabled by developers 
>>> > working on
>>> >           implementing this support. Once enough support has landed in the
>>> >           kernel, this option will no longer be marked EXPERIMENTAL.
>>> >
>>> > +         Enabling this will disable support for VFIO PCI DMA buffer.
>>> > +
>>> >           If you don't know what to do here, say N.
>>> >
>>> >  endif
>>> > @@ -68,7 +70,7 @@ config VFIO_PCI_ZDEV_KVM
>>> >           To enable s390x KVM vfio-pci extensions, say Y.
>>> >
>>> >  config VFIO_PCI_DMABUF
>>> > -       def_bool y if VFIO_PCI_CORE && PCI_P2PDMA && DMA_SHARED_BUFFER
>>> > +       def_bool y if VFIO_PCI_CORE && PCI_P2PDMA && DMA_SHARED_BUFFER && 
>>> > !VFIO_PCI_LIVEUPDATE
>>>
>>> Why does enabling VFIO_PCI_LIVEUPDATE require disabling
>>> VFIO_PCI_DMABUF? I saw the cover letter says "to keep things simple",
>>> but what specific problem does this solve or simplify?
>>
>>I should have provided more details there.
>>
>>When device is getting reset in vfio_pci_liveupdate_freeze(), we are
>>zapping userspace mapped bars, we also need to use
>>vfio_pci_dma_buf_move() to revoke dma buffer access or
>>vfio_pci_dma_buf_cleanup() combination. Cleanup takes the memory lock
>>which freeze already takes, and there are some refcounts which are
>>managed in both of these APIs. This was causing complexities with code
>>flow based on result of pci_load_saved_state(). All this was adding more
>>refactoring than I wanted in the series.
>
> Maybe we can return -EOPNOTSUPP if any dmabufs for this vfio cdev are
> exported during preserve?

Whichever way you go with, a TODO/comment would be nice to have so
someone (including future you) looking at this code knows why this
restriction exists.

-- 
Regards,
Pratyush Yadav

Reply via email to