Message ID | 20250211234854.52277-1-shannon.nelson@amd.com (mailing list archive) |
---|---|
Headers | show |
Series | pds_fwctl: fwctl for AMD/Pensando core devices | expand |
> existing function-specific tools. For example, these are things that make > the Eth PCI device appear on the PCI bus That sounds like a common operation which many vendors will need? So why use fwctl for this? The whole point of fwctl is things which are highly vendor specific and not networking. Isn't this even generic for any sort of SR-IOV? Wouldn't you need the same sort of operation for a GPU, or anything with a pool of resources which can be mapped to VFs? If you really want to use this as you key selling point, you need to clearly explain why is this highly vendor specific and cannot be generalised. Andrew
On Wed, Feb 12, 2025 at 02:40:45PM +0100, Andrew Lunn wrote: > Isn't this even generic for any sort of SR-IOV? Wouldn't you need the > same sort of operation for a GPU, or anything with a pool of resources > which can be mapped to VFs? We've been calling this device profiling in the vfio discussions, generally yes the general idea of profiling is common, but the actual detail of the profile is very device specific. In vfio land we think fwctl is a good choice here. We already have things like libvirt and Kubernetes that have generic userspace plugin mechanims and an existing mature ecosystem for device profiling built up around that. All sophisticated devices have their own plugins because they have unique capabilities. It seems to be working well in that world. From a kernel perspective fwctl is alot better than some of what has been tried so far, ie various vfio drivers having questionable device-specific sysfs, and then a libvirt/k8s plugin anyhow. Even the better stuff like mlx5's devlink is only partially capable and the existing mlx plugins still has to do stuff beyond that. The kernel isn't the only point, or necessarily the most appropriate point, to insert a consolidation layer in the stack. We don't want to move chunks of existing k8s operator code into the kernel, for instance. Again, this isn't an exclusive thing, that fwctl can profile a PCI function doesn't in any way exclude other kernel options, like devlink, from doing that too. Jason
On Wed, Feb 12, 2025 at 10:43:28AM -0400, Jason Gunthorpe wrote: > On Wed, Feb 12, 2025 at 02:40:45PM +0100, Andrew Lunn wrote: > > > Isn't this even generic for any sort of SR-IOV? Wouldn't you need the > > same sort of operation for a GPU, or anything with a pool of resources > > which can be mapped to VFs? > > We've been calling this device profiling in the vfio discussions, > generally yes the general idea of profiling is common, but the actual > detail of the profile is very device specific. This is your poster child for fwctl. You are trying to convince us it is a way to configure things which are very vendor specific. Yet, as you point out, the idea of profiling is common. So why start here? It seems an odd choice. So i would of expected the messaging to be clearer. You the vendors agree there is no commonality, so explain that. Take three different vendors cards and list all the parameters which are needed for profiling with these cards. Really show that there is no commonality. And maybe take it a step further. Get these vendors to work together to produce three patchset implementing device profiling, so we can see there cannot be code sharing. Then you might have a convincing poster child for fwctl. Given how contentious fwctl is, i would say vendors need to work together to show there is nothing in common, at least to start with. Andrew