On Sat, Aug 14, 2021 at 4:16 AM Amey Narkhede <ameynarkhede03@xxxxxxxxx> wrote: > > On 21/08/13 12:14PM, Bjorn Helgaas wrote: > > [+cc Amey (working on PCI resets), linux-pci] > > > > On Fri, Aug 13, 2021 at 05:01:32PM +0000, Vikram Sethi wrote: > > > Hi Dan, > > > > > > > -----Original Message----- > > > > From: Dan Williams <dan.j.williams@xxxxxxxxx> > > > > > > > > On Wed, Aug 11, 2021 at 9:42 AM Chris Browy <cbrowy@xxxxxxxxxxxxxxxx> > > > > wrote: > > > > > > > > /sys/bus/pci/devices/$device/reset is a method to trigger PCI > > > > device reset, but I do not expect that will ever gain CXL specific > > > > knowledge. > > > > > > > CXL reset may need some thought, specially for devices that don't > > > expose FLR but do expose CXL reset (while former does not affect > > > CXL.cache/mem, the latter wipes out CXL.cache/mem state in the > > > device and there is discoverability as to whether or not memory > > > contents can be cleared as part of CXL reset). We may need a way of > > > triggering CXL reset from userspace, and if the existing > > > /sys/bus/pci/devices/$device/reset won't have knowledge of CXL > > > reset, there still should be a prioritized order in the kernel in > > > which CXL reset is attempted before more drastic resets like SBR. > > > IIRC CXL reset can also impact all functions that use CXL.cache/mem, > > > but not legacy PCIe functions on the device which do not use > > > CXL.cache/mem (there is discoverability as to which functions are > > > not impacted by CXL reset). > > > > > > Thanks, > > > Vikram > > We can add new reset method and expose it to userspace via new 'reset_method' > sysfs attribute introduced in this series > https://lore.kernel.org/linux-pci/20210805162917.3989-1-ameynarkhede03@xxxxxxxxx/ It's not clear to me that's a suitable place for CXL reset though. CXL reset wants to coordinate with the device's participation in a potential interleave-set across multiple devices. So something like /sys/bus/cxl/devices/memX/reset might be a better location for coordinated CXL reset if needed. Again though, the primary use case for userspace triggered reset is device assignment, and there are better mechanisms to assign CXL.mem resources to a guest.