linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Matlack <dmatlack@google.com>
To: Chris Li <chrisl@kernel.org>
Cc: Bjorn Helgaas <helgaas@kernel.org>,
	Pasha Tatashin <pasha.tatashin@soleen.com>,
	 Bjorn Helgaas <bhelgaas@google.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 "Rafael J. Wysocki" <rafael@kernel.org>,
	Danilo Krummrich <dakr@kernel.org>, Len Brown <lenb@kernel.org>,
	 linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	 linux-acpi@vger.kernel.org, Pasha Tatashin <tatashin@google.com>,
	 Jason Miu <jasonmiu@google.com>,
	Vipin Sharma <vipinsh@google.com>,
	 Saeed Mahameed <saeedm@nvidia.com>,
	Adithya Jayachandran <ajayachandra@nvidia.com>,
	 Parav Pandit <parav@nvidia.com>, William Tu <witu@nvidia.com>,
	Mike Rapoport <rppt@kernel.org>,  Jason Gunthorpe <jgg@ziepe.ca>,
	Leon Romanovsky <leon@kernel.org>,
	skhawaja@google.com
Subject: Re: [PATCH v2 00/10] LUO: PCI subsystem (phase I)
Date: Wed, 8 Oct 2025 16:00:33 -0700	[thread overview]
Message-ID: <CALzav=devrsJ2=3bt_=Z7BwT2CE1sv7AGDjh4uCC7mWzD7UR4Q@mail.gmail.com> (raw)
In-Reply-To: <CACePvbUJ6mxgCNVy_0PdMP+-98D0Un8peRhsR45mbr9czfMkEA@mail.gmail.com>

On Tue, Oct 7, 2025 at 4:32 PM Chris Li <chrisl@kernel.org> wrote:
>
> Thanks to one that provides good feedback on the PCI series.
>
> I just want to give an update on the state of the LUO PCI series,
> based on the feedback I received. The LUO PCI series should be called
> from the memfd side and remove global subsystem state if possible.

By "memfd side" I believe you are referring to LUO fd preservation
(likely the VFIO cdev fd).

> Which means the PCI series will depend on the VIFO or iommu series.
> I have some internal alignment with Vipin (for VFIO) and Samiullah
> (for iommu). Here is the new plan for upstream patch submission:
>
> 1)  KHO series go first, which is already happening with additional improvement.
>
> 2) Next is Pasha's LUO series with memfd support, also happening right now.
>
> 3) Next series will be Vipin's VFIO series with preserving one
> busmaster bit in the config space of the end point vfio device, there
> is no PCI layer involved yet. The VFIO will use some driver trick to
> prevent the native driver from binding to the liveupdate device used
> by VFIO after kexec. After kexec, the VFIO driver validates that the
> busmaster in the PCI config register is already set.

Yes. Last we discussed Vipin is planning to just compile out the
native driver of the device he is using to test. So we don't expect to
need any kernel code changes to unblock basic testing and posting the
RFC.

>
> 4) After the VFIO series, the PCI can start to preserve the livedupate
> device by BDF. Avoid the driver auto probe on the livedupate devices.
> At this point the VFIO driver in stage 3 will not need the other
> driver trick to avoid the auto bind of native driver. The PCI layer
> takes the core of that. This series PCI will have very limited
> support, most of the driver callback is not needed, no bridge device
> dependent as well.

I suspect we'll need the new file-lifecycle-bound global state thing
that Pasha is working on [1] to accomplish this. So please track
LUOv5+ as a dependency for this.

[1] https://lore.kernel.org/lkml/CA+CK2bB+RdapsozPHe84MP4NVSPLo6vje5hji5MKSg8L6ViAbw@mail.gmail.com/

>
> 5) VFIO device will continue DMA across the kexec. This series will
> require the IOMMU series for DMA mapping support. The PCI will hook up
> with the VFIO and build the list of the liveupdate device, which
> includes the PCI bridge with bus master big preserved as well.
>
> So I will pause the LUO PCI series a bit to wait for the integration
> with VFIO series.
> Meanwhile, I will continue to fix up the LUO PCI series internally for
> the other feedback I have received:
> - Clean up device info printing, remove raw address value (Greg KH, Jason).
> - Remove the device format string (Greg KH).
> - Remove the liveupdate struct from struct device, move it to the PCI (Greg KH).
> - Remove LUO call back forwarding and hook it up with the VFIO (Jason, David)
> - Drive the PCI from memfd context on VFIO or iommu, no subsystem
> registration. (Jason)
> - up_read(&pci_bus_sem); instead of up_write (Greg KH)
> - Avoid preserving the driver name, just avoid auto-probing the
> liveupdate devices. Let user space do the driver loading in initrd
> (Jason).
>
> That will keep me busy for a while waiting for the VFIO series.

Sounds good. Thanks for the update Chris!

  reply	other threads:[~2025-10-08 23:01 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-16  7:45 [PATCH v2 00/10] LUO: PCI subsystem (phase I) Chris Li
2025-09-16  7:45 ` [PATCH v2 01/10] PCI/LUO: Register with Liveupdate Orchestrator Chris Li
2025-09-30 15:15   ` Greg Kroah-Hartman
2025-09-30 23:41     ` Chris Li
2025-09-30 15:17   ` Greg Kroah-Hartman
2025-09-30 23:38     ` Chris Li
2025-09-16  7:45 ` [PATCH v2 02/10] PCI/LUO: Create requested liveupdate device list Chris Li
2025-09-29 17:46   ` Jason Gunthorpe
2025-09-30  2:13     ` Chris Li
2025-09-30 16:47       ` Jason Gunthorpe
2025-10-03  7:09         ` Chris Li
2025-10-03  5:33     ` Chris Li
2025-10-03 14:04       ` Jason Gunthorpe
2025-10-03 21:06         ` Chris Li
2025-09-30 15:26   ` Greg Kroah-Hartman
2025-10-03  6:57     ` Chris Li
2025-09-16  7:45 ` [PATCH v2 03/10] PCI/LUO: Forward prepare()/freeze()/cancel() callbacks to driver Chris Li
2025-09-29 17:48   ` Jason Gunthorpe
2025-09-30  2:11     ` Chris Li
2025-09-30 16:38       ` Jason Gunthorpe
2025-10-02 18:54         ` David Matlack
2025-10-02 20:57           ` Chris Li
2025-10-02 21:31             ` David Matlack
2025-10-02 23:21               ` Jason Gunthorpe
2025-10-02 23:42                 ` David Matlack
2025-10-03 12:03                   ` Jason Gunthorpe
2025-10-03 16:03                     ` David Matlack
2025-10-03 16:16                       ` Jason Gunthorpe
2025-10-03 16:28                         ` Pasha Tatashin
2025-10-03 16:56                           ` David Matlack
2025-10-03  5:24                 ` Chris Li
2025-10-03 12:06                   ` Jason Gunthorpe
2025-10-03 16:27                     ` David Matlack
2025-10-03 16:41                       ` Vipin Sharma
2025-10-03 17:44                     ` Chris Li
2025-10-03  5:17               ` Chris Li
2025-10-02 20:44         ` Chris Li
2025-09-30 15:27   ` Greg Kroah-Hartman
2025-10-02 20:38     ` Chris Li
2025-10-03  6:18       ` Greg Kroah-Hartman
2025-10-03  7:26         ` Chris Li
2025-10-03 12:26           ` Greg Kroah-Hartman
2025-10-03 17:49             ` Chris Li
2025-10-03 18:27               ` David Matlack
2025-10-03 21:10                 ` Chris Li
2025-09-16  7:45 ` [PATCH v2 04/10] PCI/LUO: Restore state at PCI enumeration Chris Li
2025-09-16  7:45 ` [PATCH v2 05/10] PCI/LUO: Forward finish callbacks to drivers Chris Li
2025-09-16  7:45 ` [PATCH v2 06/10] PCI/LUO: Save and restore driver name Chris Li
2025-09-29 17:57   ` Jason Gunthorpe
2025-09-30  2:10     ` Chris Li
2025-09-30 13:02       ` Pasha Tatashin
2025-09-30 13:41         ` Greg Kroah-Hartman
2025-09-30 14:53           ` Pasha Tatashin
2025-09-30 15:08             ` Greg Kroah-Hartman
2025-09-30 15:56               ` Pasha Tatashin
2025-10-01  5:06                 ` Greg Kroah-Hartman
2025-10-01 21:03                   ` Pasha Tatashin
2025-10-02  6:09                     ` Greg Kroah-Hartman
2025-10-02 13:23                       ` Jason Gunthorpe
2025-10-02 22:30                       ` Chris Li
2025-09-30 15:41           ` Chris Li
2025-10-01  5:13             ` Greg Kroah-Hartman
2025-10-02 22:05               ` Chris Li
2025-09-30 16:37         ` Jason Gunthorpe
2025-10-02 21:39           ` Chris Li
2025-10-03 14:28             ` Jason Gunthorpe
2025-09-16  7:45 ` [PATCH v2 07/10] PCI/LUO: Add liveupdate to pcieport driver Chris Li
2025-09-16  7:45 ` [PATCH v2 08/10] PCI/LUO: Add pci_liveupdate_get_driver_data() Chris Li
2025-09-16  7:45 ` [PATCH v2 09/10] PCI/LUO: Avoid write to bus master at boot Chris Li
2025-09-29 17:14   ` Bjorn Helgaas
2025-09-16  7:45 ` [PATCH v2 10/10] PCI: pci-lu-stub: Add a stub driver for Live Update testing Chris Li
2025-09-27 17:13 ` [PATCH v2 00/10] LUO: PCI subsystem (phase I) Bjorn Helgaas
2025-09-27 18:05   ` Pasha Tatashin
2025-09-29 15:04     ` Bjorn Helgaas
2025-09-29 18:13       ` Chris Li
2025-10-07 23:32         ` Chris Li
2025-10-08 23:00           ` David Matlack [this message]
2025-10-09 17:12             ` Chris Li
2025-10-09 23:21           ` Pratyush Yadav
2025-10-10  4:19             ` Chris Li
2025-10-10 23:49               ` Jason Miu
2025-10-13 13:58                 ` Pratyush Yadav
2025-10-14 16:11                   ` Pratyush Yadav
2025-10-14 20:44                   ` Chris Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALzav=devrsJ2=3bt_=Z7BwT2CE1sv7AGDjh4uCC7mWzD7UR4Q@mail.gmail.com' \
    --to=dmatlack@google.com \
    --cc=ajayachandra@nvidia.com \
    --cc=bhelgaas@google.com \
    --cc=chrisl@kernel.org \
    --cc=dakr@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=helgaas@kernel.org \
    --cc=jasonmiu@google.com \
    --cc=jgg@ziepe.ca \
    --cc=lenb@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=parav@nvidia.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=rafael@kernel.org \
    --cc=rppt@kernel.org \
    --cc=saeedm@nvidia.com \
    --cc=skhawaja@google.com \
    --cc=tatashin@google.com \
    --cc=vipinsh@google.com \
    --cc=witu@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).