lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240904202016.GA345873@bhelgaas>
Date: Wed, 4 Sep 2024 15:20:16 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Wei Huang <wei.huang2@....com>
Cc: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-doc@...r.kernel.org, netdev@...r.kernel.org,
	Jonathan.Cameron@...wei.com, corbet@....net, davem@...emloft.net,
	edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
	alex.williamson@...hat.com, gospo@...adcom.com,
	michael.chan@...adcom.com, ajit.khaparde@...adcom.com,
	somnath.kotur@...adcom.com, andrew.gospodarek@...adcom.com,
	manoj.panicker2@....com, Eric.VanTassell@....com,
	vadim.fedorenko@...ux.dev, horms@...nel.org, bagasdotme@...il.com,
	bhelgaas@...gle.com, lukas@...ner.de, paul.e.luse@...el.com,
	jing2.liu@...el.com
Subject: Re: [PATCH V4 00/12] PCIe TPH and cache direct injection support

On Thu, Aug 22, 2024 at 03:41:08PM -0500, Wei Huang wrote:
> Hi All,
> 
> TPH (TLP Processing Hints) is a PCIe feature that allows endpoint
> devices to provide optimization hints for requests that target memory
> space. These hints, in a format called steering tag (ST), are provided
> in the requester's TLP headers and allow the system hardware, including
> the Root Complex, to optimize the utilization of platform resources
> for the requests.

> Paul Luse (1):
>   PCI/TPH: Add save/restore support for TPH
> 
> Wei Huang (9):
>   PCI: Introduce PCIe TPH support framework
>   PCI: Add TPH related register definition
>   PCI/TPH: Add pcie_tph_modes() to query TPH modes
>   PCI/TPH: Add pcie_enable_tph() to enable TPH
>   PCI/TPH: Add pcie_disable_tph() to disable TPH
>   PCI/TPH: Add pcie_tph_enabled() to check TPH state
>   PCI/TPH: Add pcie_tph_set_st_entry() to set ST tag
>   PCI/TPH: Add pcie_tph_get_cpu_st() to get ST tag
>   PCI/TPH: Add pci=nostmode to force TPH No ST Mode

To me, this series would make more sense if we squashed these
together:

  PCI: Introduce PCIe TPH support framework
  PCI: Add TPH related register definition
  PCI/TPH: Add pcie_enable_tph() to enable TPH
  PCI/TPH: Add pcie_disable_tph() to disable TPH
  PCI/TPH: Add save/restore support for TPH

These would add the "minimum viable functionality", e.g., enable TPH
just for Processing Hints, with no Steering Tag support at all.  Would
also include "pci=notph".

  PCI/TPH: Add pcie_tph_set_st_entry() to set ST tag
  PCI/TPH: Add pcie_tph_get_cpu_st() to get ST tag

And squash these also to add Steering Tag support in a single commit,
including enhancing the save/restore.

  PCI/TPH: Add pcie_tph_modes() to query TPH modes
  PCI/TPH: Add pcie_tph_enabled() to check TPH state

And maybe we can get away without these altogether.  I mentioned
pcie_tph_modes() elsewhere; seems possibly unnecessary since drivers
can just request the mode they want and we'll fail if it's not
supported.

Drivers should also be able to remember whether they enabled TPH
successfully without us having to remind them.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ