Re: [PATCH v4 0/7] PCI: endpoint/NTB: Harden vNTB resource management
Manivannan Sadhasivam <[email protected]>
| Newsgroups | dev.linux.lists.ntb,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <eazctmg7ptxadg4oq34e2ydib2frm4x76f6jpzm763uswocufl@uwpz5zhkd7sr> |
On Thu, Feb 19, 2026 at 01:36:16AM +0900, Koichiro Den wrote: > On Wed, Feb 18, 2026 at 09:52:08PM +0530, Manivannan Sadhasivam wrote: > > On Wed, Feb 18, 2026 at 09:45:22PM +0530, Manivannan Sadhasivam wrote: > > > On Tue, Dec 02, 2025 at 04:23:41PM +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: double-unmapping when two > > > > windows share a BAR, wrong parameter order in .drop_link leading to wrong > > > > object lookups, 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 across NTB > > > > EPF and PCI EP core: > > > > > > > > - Avoid double iounmap when PEER_SPAD and CONFIG share the same BAR. > > > > - Fix configfs .drop_link parameter order so the correct groups are used during > > > > unlink. > > > > - 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-5 carry Fixes tags and are candidates for stable. > > > > Patch 6 is a preparatory one for Patch 7. > > > > Patch 7 is a behavioral improvement that completes lifetime management for > > > > relink/restart scenarios. > > > > > > > > > > Are there any dependencies between pci-epf-vntb and ntb-epf drivers? If they are > > > not dependent, you should always post them separately. > > I'll make sure to be more careful. > > > > For this series, I can > > > merge the endpoint patches (except patch 4 which got merged in other form). > > > > > > > Sry, patch 2. > > There are no dependencies between Patch 1 and Patch 3-7. > > One minor note: I just realized that the Patch 5 subject is inconsistent. > > NTB: epf: vntb: Stop cmd_handler work in epf_ntb_epc_cleanup > > should have been > > PCI: endpoint: pci-epf-vntb: Stop cmd_handler work in epf_ntb_epc_cleanup > > If possible, could you please adjust the subject when applying? > Will do. - Mani > Best regards, > Koichiro > > > > > - Mani > > > > > - Mani > > > > > > > > > > > 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.) > > > > > > > > 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 (7): > > > > NTB: epf: Avoid pci_iounmap() with offset when PEER_SPAD and CONFIG > > > > share BAR > > > > PCI: endpoint: Fix parameter order for .drop_link > > > > PCI: endpoint: pci-epf-vntb: Remove duplicate resource teardown > > > > PCI: endpoint: pci-epf-ntb: Remove duplicate resource teardown > > > > NTB: 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/ntb/hw/epf/ntb_hw_epf.c | 3 +- > > > > drivers/pci/endpoint/functions/pci-epf-ntb.c | 56 +----------- > > > > drivers/pci/endpoint/functions/pci-epf-vntb.c | 86 ++++++++++++------- > > > > drivers/pci/endpoint/pci-ep-cfs.c | 8 +- > > > > 4 files changed, 62 insertions(+), 91 deletions(-) > > > > > > > > -- > > > > 2.48.1 > > > > > > > > > > -- > > > மணிவண்ணன் சதாசிவம் > > > > > > > -- > > மணிவண்ணன் சதாசிவம் -- மணிவண்ணன் சதாசிவம்