Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: David Matlack <dmatlack@google.com>
To: kexec@lists.infradead.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-pci@vger.kernel.org
Cc: Adithya Jayachandran <ajayachandra@nvidia.com>,
	Alexander Graf <graf@amazon.com>,
	Alex Williamson <alex@shazbot.org>,
	Bjorn Helgaas <bhelgaas@google.com>, Chris Li <chrisl@kernel.org>,
	David Rientjes <rientjes@google.com>,
	Jacob Pan <jacob.pan@linux.microsoft.com>,
	Jason Gunthorpe <jgg@nvidia.com>,
	Jonathan Corbet <corbet@lwn.net>, Josh Hilke <jrhilke@google.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Lukas Wunner <lukas@wunner.de>, Mike Rapoport <rppt@kernel.org>,
	Parav Pandit <parav@nvidia.com>,
	Pasha Tatashin <pasha.tatashin@soleen.com>,
	Pranjal Shrivastava <praan@google.com>,
	Pratyush Yadav <pratyush@kernel.org>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Samiullah Khawaja <skhawaja@google.com>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Vipin Sharma <vipinsh@google.com>, William Tu <witu@nvidia.com>,
	Yi Liu <yi.l.liu@intel.com>
Subject: Re: [PATCH v7 00/12] PCI: liveupdate: PCI core support for Live Update
Date: Mon, 27 Jul 2026 17:52:57 +0000	[thread overview]
Message-ID: <amea-VLTnrO_WxnW@google.com> (raw)
In-Reply-To: <20260710212616.1351130-1-dmatlack@google.com>

On 2026-07-10 09:26 PM, David Matlack wrote:
> This series can be found on GitHub:
> 
>   https://github.com/dmatlack/linux/tree/liveupdate/pci/base/v7
> 
> This series introduces initial support in the PCI core for Live Update,
> enabling drivers to preserve PCI devices across a kexec-based kernel
> update without interrupting the device. This functionality is critical
> for minimizing downtime in environments where PCI devices (e.g., those
> assigned to VMs via VFIO) must continue operating or maintain state
> across a host kernel upgrade.
> 
> Specifically, this series allows preserved PCI devices to perform
> uninterrupted memory transactions (DMA) to/from system memory across a
> Live Update. These devices can be behind a bridge but must not be VFs.
> Support for P2P and VF preservation will be addressed in future series.

> David Matlack (12):
>   PCI: liveupdate: Set up FLB handler for the PCI core
>   PCI: liveupdate: Track outgoing preserved PCI devices
>   PCI: liveupdate: Track incoming preserved PCI devices
>   PCI: liveupdate: Document driver binding responsibilities
>   PCI: liveupdate: Keep bus numbers constant during Live Update
>   PCI: liveupdate: Auto-preserve upstream bridges across Live Update
>   PCI: Refactor matching logic for pci_dev_acs_ops
>   PCI: liveupdate: Inherit ACS flags in incoming preserved devices
>   PCI: liveupdate: Inherit ARI Forwarding Enable on preserved bridges
>   PCI: liveupdate: Freeze preservation status during shutdown
>   PCI: liveupdate: Do not disable bus mastering on preserved devices
>     during kexec
>   Documentation: PCI: Add documentation for Live Update
> 
>  Documentation/PCI/index.rst                   |   1 +
>  Documentation/PCI/liveupdate.rst              |  29 +
>  .../admin-guide/kernel-parameters.txt         |   6 +-
>  Documentation/core-api/liveupdate.rst         |   5 +
>  MAINTAINERS                                   |  15 +
>  drivers/pci/Kconfig                           |  15 +
>  drivers/pci/Makefile                          |   1 +
>  drivers/pci/liveupdate.c                      | 910 ++++++++++++++++++
>  drivers/pci/liveupdate.h                      |  68 ++
>  drivers/pci/pci-driver.c                      |   9 +-
>  drivers/pci/pci.c                             |  14 +-
>  drivers/pci/pci.h                             |   5 +
>  drivers/pci/probe.c                           |  22 +-
>  drivers/pci/quirks.c                          |  58 +-
>  include/linux/kho/abi/pci.h                   |  59 ++
>  include/linux/pci.h                           |   4 +
>  include/linux/pci_liveupdate.h                |  77 ++
>  17 files changed, 1260 insertions(+), 38 deletions(-)
>  create mode 100644 Documentation/PCI/liveupdate.rst
>  create mode 100644 drivers/pci/liveupdate.c
>  create mode 100644 drivers/pci/liveupdate.h
>  create mode 100644 include/linux/kho/abi/pci.h
>  create mode 100644 include/linux/pci_liveupdate.h

Bjorn,

Do you have a preference of whether to merge this series through
liveupdate.git or pci.git once it's ready? (Mike Rapoport asked if we
could make a decision on the merge plan.)

I am leaning toward liveupdate.git:

 1. There are some LUO core changes around how FLBs are refcounted in
    the next branch of liveupdate.git that this series depends on.

 2. We had previously agreed that the files covered by the PCI LIVE
    UPDATE maintainer entry would be merged through the liveupdate.git
    tree (which is the majority of this series), so this would be
    following that process.

    PCI LIVE UPDATE
    ...
    T:     git git://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux.git
    F:     Documentation/PCI/liveupdate.rst
    F:     drivers/pci/liveupdate.c
    F:     drivers/pci/liveupdate.h
    F:     include/linux/kho/abi/pci.h
    F:     include/linux/pci_liveupdate.h

But if you prefer landing the initial series in pci.git I think we can
expose a stable branch in liveupdate.git to handle (1).

What would be your preference?


      parent reply	other threads:[~2026-07-27 17:53 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-10 21:26 [PATCH v7 00/12] PCI: liveupdate: PCI core support for Live Update David Matlack
2026-07-10 21:26 ` [PATCH v7 01/12] PCI: liveupdate: Set up FLB handler for the PCI core David Matlack
2026-07-17 19:28   ` Pasha Tatashin
2026-07-17 19:30     ` Jason Gunthorpe
2026-07-17 19:40       ` Pasha Tatashin
2026-07-17 19:42     ` Pasha Tatashin
2026-07-23 22:21   ` Bjorn Helgaas
2026-07-27 17:40     ` David Matlack
2026-07-27 19:27       ` Bjorn Helgaas
2026-07-27 20:06         ` David Matlack
2026-07-10 21:26 ` [PATCH v7 02/12] PCI: liveupdate: Track outgoing preserved PCI devices David Matlack
2026-07-17 19:38   ` Pasha Tatashin
2026-07-23 22:29   ` Bjorn Helgaas
2026-07-24 20:32   ` Bjorn Helgaas
2026-07-10 21:26 ` [PATCH v7 03/12] PCI: liveupdate: Track incoming " David Matlack
2026-07-17 21:46   ` Pasha Tatashin
2026-07-20 21:54     ` David Matlack
2026-07-20 22:44       ` Pasha Tatashin
2026-07-20 23:07         ` David Matlack
2026-07-21 17:55           ` Pasha Tatashin
2026-07-21 20:25             ` David Matlack
2026-07-21 21:35               ` Pasha Tatashin
2026-07-21 23:02       ` Samiullah Khawaja
2026-07-21 23:16         ` David Matlack
2026-07-21 23:18           ` David Matlack
2026-07-21 23:46             ` Pasha Tatashin
2026-07-22 17:00               ` David Matlack
2026-07-17 22:38   ` Alex Williamson
2026-07-20 22:00     ` David Matlack
2026-07-22 16:10       ` David Matlack
2026-07-10 21:26 ` [PATCH v7 04/12] PCI: liveupdate: Document driver binding responsibilities David Matlack
2026-07-10 21:26 ` [PATCH v7 05/12] PCI: liveupdate: Keep bus numbers constant during Live Update David Matlack
2026-07-17 21:48   ` Pasha Tatashin
2026-07-23 23:01   ` Bjorn Helgaas
2026-07-10 21:26 ` [PATCH v7 06/12] PCI: liveupdate: Auto-preserve upstream bridges across " David Matlack
2026-07-17 22:00   ` Pasha Tatashin
2026-07-24 20:55   ` Bjorn Helgaas
2026-07-24 21:54     ` David Matlack
2026-07-10 21:26 ` [PATCH v7 07/12] PCI: Refactor matching logic for pci_dev_acs_ops David Matlack
2026-07-17 22:02   ` Pasha Tatashin
2026-07-24 21:03   ` Bjorn Helgaas
2026-07-10 21:26 ` [PATCH v7 08/12] PCI: liveupdate: Inherit ACS flags in incoming preserved devices David Matlack
2026-07-17 22:08   ` Pasha Tatashin
2026-07-27 22:54   ` Bjorn Helgaas
2026-07-27 23:11     ` David Matlack
2026-07-10 21:26 ` [PATCH v7 09/12] PCI: liveupdate: Inherit ARI Forwarding Enable on preserved bridges David Matlack
2026-07-17 23:29   ` Pasha Tatashin
2026-07-20 23:19     ` David Matlack
2026-07-21 18:17       ` Pasha Tatashin
2026-07-21 20:26         ` David Matlack
2026-07-27 23:07   ` Bjorn Helgaas
2026-07-27 23:22     ` David Matlack
2026-07-10 21:26 ` [PATCH v7 10/12] PCI: liveupdate: Freeze preservation status during shutdown David Matlack
2026-07-17 23:30   ` Pasha Tatashin
2026-07-10 21:26 ` [PATCH v7 11/12] PCI: liveupdate: Do not disable bus mastering on preserved devices during kexec David Matlack
2026-07-17 23:32   ` Pasha Tatashin
2026-07-10 21:26 ` [PATCH v7 12/12] Documentation: PCI: Add documentation for Live Update David Matlack
2026-07-17 23:38   ` Pasha Tatashin
2026-07-27 17:52 ` David Matlack [this message]

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=amea-VLTnrO_WxnW@google.com \
    --to=dmatlack@google.com \
    --cc=ajayachandra@nvidia.com \
    --cc=alex@shazbot.org \
    --cc=bhelgaas@google.com \
    --cc=chrisl@kernel.org \
    --cc=corbet@lwn.net \
    --cc=graf@amazon.com \
    --cc=jacob.pan@linux.microsoft.com \
    --cc=jgg@nvidia.com \
    --cc=jrhilke@google.com \
    --cc=kexec@lists.infradead.org \
    --cc=leonro@nvidia.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=parav@nvidia.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=praan@google.com \
    --cc=pratyush@kernel.org \
    --cc=rientjes@google.com \
    --cc=rppt@kernel.org \
    --cc=saeedm@nvidia.com \
    --cc=skhan@linuxfoundation.org \
    --cc=skhawaja@google.com \
    --cc=vipinsh@google.com \
    --cc=witu@nvidia.com \
    --cc=yi.l.liu@intel.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