Re: [PATCH v5 0/5] PCI: endpoint: pci-epf-*ntb: Harden vNTB resource management
Manivannan Sadhasivam <[email protected]> Wed, 4 Mar 2026 12:03:51 +0530
| Newsgroups | dev.linux.lists.ntb,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <owgu3bsmcvyy5ggygak6iof3v26fho2sa2wcpmh3ksxjzgq3bc@osi4xob6fpry> |
On Wed, Mar 04, 2026 at 12:10:23PM +0900, Koichiro Den wrote: > On Thu, Feb 26, 2026 at 05:41:37PM +0900, Koichiro Den wrote: > > The vNTB endpoint function (pci-epf-vntb) can be configured and > > reconfigured through configfs (link/unlink functions, start/stop the > > controller, update parameters). In practice, several pitfalls present: > > duplicate EPC teardown that leads to oopses, a work item running after > > resources were torn down, and inability to re-link/restart fundamentally > > because ntb_dev was embedded and the vPCI bus teardown was incomplete. > > > > This series addresses those issues and hardens resource management of > > pci-epf-vntb: > > > > - Remove duplicate EPC resource teardown in both pci-epf-vntb and > > pci-epf-ntb, avoiding crashes on .allow_link failures and during > > .drop_link. > > - Stop the delayed cmd_handler work before clearing BARs/doorbells. > > - Manage ntb_dev as a devm-managed allocation and implement .remove() in > > the vNTB PCI driver. Switch to pci_scan_root_bus(). > > > > With these changes, the controller can now be stopped, a function > > unlinked, configfs settings updated, and the controller re-linked and > > restarted without rebooting the endpoint, as long as the underlying > > pci_epc_ops .stop() is non-destructive and .start() restores normal > > operation. > > > > Patches 1-3 carry Fixes tags and are candidates for stable. > > Patch 4 is a preparatory one for Patch 5. > > Patch 5 is a behavioral improvement that completes lifetime management for > > relink/restart scenarios. > > While I'm updating Patch 4 and 5 to address feedback from Mani, as well as the > concern I mentioned at [1], I noticed that if [2] gets merged before this > series, another issue may arrise. With [2], the DB IRQ may become a shared IRQ, > in which case the unbind/remove race would require additional care. > > > Mani, if it's ok, could you take Patch 1-3? > > - If so, I'll spin the rest (Patch 4-5) into a separate patch series starting > from v6, with some additional commits. > Sounds OK to me. - Mani > It turns out that Patch 4-5 are a bigger change than I initially thought. Even > though Patch 1-3 were originally written as preparatory fixes, they can be > applied independently at any time. > > The code in Patches 1-3 has also been unchanged since v1 (submitted last > October). > > [1] https://lore.kernel.org/linux-pci/mipdls67csyyrugf4rjx3qqtbxes4sjjtluy3psecnadcgcs7k@rn42d3m6ggsf/ > [2] [PATCH v10 0/7] PCI: endpoint: pci-ep-msi: Add embedded doorbell fallback > https://lore.kernel.org/linux-pci/[email protected]/ > > > Best regards, > Koichiro > > > > > --- > > v4->v5 changes: > > - Rebased onto the latest pci/endpoint (2026-02-26). > > - Dropped [PATCH v4 1/7]; will be reposted separately via the NTB tree. > > - Dropped [PATCH v4 2/7], which has been applied in a different form. > > - Corrected the subject prefix of [PATCH v4 5/7]: > > s/NTB: epf: vntb:/PCI: endpoint: pci-epf-vntb:/. > > - Picked up a Reviewed-by tag to [PATCH v4 7/7]. > > - Resolved a conflict in [PATCH v4 7/7] due to commit > > dc693d606644 ("PCI: endpoint: pci-epf-vntb: Add MSI doorbell support"). > > v3->v4 changes: > > - Added Reviewed-by tag for [PATCH v3 6/6]. > > - Corrected patch split by moving the blank-line cleanup, > > based on the feedback from Frank. > > (No code changes overall.) > > v2->v3 changes: > > - Added Reviewed-by tag for [PATCH v2 4/6]. > > - Split [PATCH v2 6/6] into two, based on the feedback from Frank. > > (No code changes overall.) > > v1->v2 changes: > > - Incorporated feedback from Frank. > > - Added Reviewed-by tags (except for patches #4 and #6). > > - Fixed a typo in patch #5 title. > > (No code changes overall.) > > > > v4: https://lore.kernel.org/linux-pci/[email protected]/ > > v3: https://lore.kernel.org/all/[email protected]/ > > v2: https://lore.kernel.org/all/[email protected]/ > > v1: https://lore.kernel.org/all/[email protected]/ > > > > > > Koichiro Den (5): > > PCI: endpoint: pci-epf-vntb: Remove duplicate resource teardown > > PCI: endpoint: pci-epf-ntb: Remove duplicate resource teardown > > PCI: endpoint: pci-epf-vntb: Stop cmd_handler work in > > epf_ntb_epc_cleanup > > PCI: endpoint: pci-epf-vntb: Switch vpci_scan_bus() to use > > pci_scan_root_bus() > > PCI: endpoint: pci-epf-vntb: manage ntb_dev lifetime and fix vpci bus > > teardown > > > > drivers/pci/endpoint/functions/pci-epf-ntb.c | 56 +----------- > > drivers/pci/endpoint/functions/pci-epf-vntb.c | 88 ++++++++++++------- > > 2 files changed, 57 insertions(+), 87 deletions(-) > > > > -- > > 2.51.0 > > > > -- மணிவண்ணன் சதாசிவம்