Re: [PATCH v19 11/14] PCI: Cache PCI DSN into pci_dev->dsn during probe
[email protected] Mon, 03 Aug 2026 22:29:59 +0000
| Newsgroups | org.kernel.vger.linux-pci,org.kernel.vger.linux-cxl |
|---|---|
| Message-ID | <[email protected]> |
> Subsequent CXL error-reporting code paths need to log the PCI Device > Serial Number (DSN) as part of trace events emitted from interrupt or > panic context. Computing the DSN there via pci_get_dsn() requires PCI > configuration space reads, which are slow, can fail when the link is > down or frozen, and may not be safe in some contexts. >=20 > Add a u64 dsn field to struct pci_dev and populate it from pci_get_dsn() > during pci_init_capabilities() at probe time via pci_dsn_init(). Only > write dev->dsn when the read succeeds. The zero initial value from > pci_dev allocation already represents 'no DSN available.' >=20 > Remove the now-redundant dsn member from the pciehp struct controller > along with its kernel-doc. Drop the pci_get_slot()/pci_dev_put() pairs > in pciehp_configure_device() and pcie_init() that existed solely to > read the DSN into ctrl->dsn. Use pdev->dsn in pciehp_device_replaced() > for the device-replacement comparison. >=20 > pci_get_dsn() is not modified because it remains a pure config-space read > with no side effects on pci_dev. The cache is written exclusively by > pci_dsn_init() at probe time. >=20 > Signed-off-by: Terry Bowman <[email protected]> Sashiko has reviewed this patch and found no issues. It looks great! --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260803221810.3685= [email protected]?part=3D11