Re: [net-next 10/10] net/mlx5e: Add support for PCI relaxed ordering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 6/24/2020 11:30 PM, Jakub Kicinski wrote:
On Wed, 24 Jun 2020 20:15:14 +0000 Saeed Mahameed wrote:
On Wed, 2020-06-24 at 10:22 -0700, Jakub Kicinski wrote:
On Wed, 24 Jun 2020 10:34:40 +0300 Aya Levin wrote:
I think Michal will rightly complain that this does not belong
in
private flags any more. As (/if?) ARM deployments take a
foothold
in DC this will become a common setting for most NICs.

Initially we used pcie_relaxed_ordering_enabled() to
   programmatically enable this on/off on boot but this seems to
introduce some degradation on some Intel CPUs since the Intel
Faulty
CPUs list is not up to date. Aya is discussing this with Bjorn.
Adding Bjorn Helgaas

I see. Simply using pcie_relaxed_ordering_enabled() and blacklisting
bad CPUs seems far nicer from operational perspective. Perhaps Bjorn
will chime in. Pushing the validation out to the user is not a great
solution IMHO.

Can we move on with this patch for now ? since we are going to keep the
user knob anyway, what is missing is setting the default value
automatically but this can't be done until we
fix pcie_relaxed_ordering_enabled()

If this patch was just adding a chicken bit that'd be fine, but opt in
I'm not hugely comfortable with. Seems like Bjorn has provided some
assistance already on the defaults but there doesn't appear to be much
progress being made.

Hi Jakub, Dave

Assuming the discussions with Bjorn will conclude in a well-trusted API that ensures relaxed ordering in enabled, I'd still like a method to turn off relaxed ordering for performance debugging sake. Bjorn highlighted the fact that the PCIe sub system can only offer a query method. Even if theoretically a set API will be provided, this will not fit a netdev debugging - I wonder if CPU vendors even support relaxed ordering set/unset... On the driver's side relaxed ordering is an attribute of the mkey and should be available for configuration (similar to number of CPU vs. number of channels). Based on the above, and binding the driver's default relaxed ordering to the return value from pcie_relaxed_ordering_enabled(), may I continue with previous direction of a private-flag to control the client side (my driver) ?

Aya.




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux