mbox series

[net-next,00/10] net: ipa: improve RX buffer replenishing

Message ID 20220203170927.770572-1-elder@linaro.org (mailing list archive)
Headers show
Series net: ipa: improve RX buffer replenishing | expand

Message

Alex Elder Feb. 3, 2022, 5:09 p.m. UTC
This series revises the algorithm used for replenishing receive
buffers on RX endpoints.  Currently there are two atomic variables
that track how many receive buffers can be sent to the hardware.
The new algorithm obviates the need for those, by just assuming we
always want to provide the hardware with buffers until it can hold
no more.

The first patch eliminates an atomic variable that's not required.
The next moves some code into the main replenish function's caller,
making one of the called function's arguments unnecessary.   The
next six refactor things a bit more, adding a new helper function
that allows us to eliminate an additional atomic variable.  And the
final two implement two more minor improvements.

					-Alex

Alex Elder (10):
  net: ipa: kill replenish_saved
  net: ipa: allocate transaction before pages when replenishing
  net: ipa: increment backlog in replenish caller
  net: ipa: decide on doorbell in replenish loop
  net: ipa: allocate transaction in replenish loop
  net: ipa: don't use replenish_backlog
  net: ipa: introduce gsi_channel_trans_idle()
  net: ipa: kill replenish_backlog
  net: ipa: replenish after delivering payload
  net: ipa: determine replenish doorbell differently

 drivers/net/ipa/gsi_trans.c    |  11 ++++
 drivers/net/ipa/gsi_trans.h    |  10 +++
 drivers/net/ipa/ipa_endpoint.c | 112 +++++++++++----------------------
 drivers/net/ipa/ipa_endpoint.h |   8 +--
 4 files changed, 60 insertions(+), 81 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 4, 2022, 10:40 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Thu,  3 Feb 2022 11:09:17 -0600 you wrote:
> This series revises the algorithm used for replenishing receive
> buffers on RX endpoints.  Currently there are two atomic variables
> that track how many receive buffers can be sent to the hardware.
> The new algorithm obviates the need for those, by just assuming we
> always want to provide the hardware with buffers until it can hold
> no more.
> 
> [...]

Here is the summary with links:
  - [net-next,01/10] net: ipa: kill replenish_saved
    https://git.kernel.org/netdev/net-next/c/a9bec7ae70c1
  - [net-next,02/10] net: ipa: allocate transaction before pages when replenishing
    https://git.kernel.org/netdev/net-next/c/b4061c136b56
  - [net-next,03/10] net: ipa: increment backlog in replenish caller
    https://git.kernel.org/netdev/net-next/c/4b22d8419549
  - [net-next,04/10] net: ipa: decide on doorbell in replenish loop
    https://git.kernel.org/netdev/net-next/c/b9dbabc5ca84
  - [net-next,05/10] net: ipa: allocate transaction in replenish loop
    (no matching commit)
  - [net-next,06/10] net: ipa: don't use replenish_backlog
    https://git.kernel.org/netdev/net-next/c/d0ac30e74ea0
  - [net-next,07/10] net: ipa: introduce gsi_channel_trans_idle()
    https://git.kernel.org/netdev/net-next/c/5fc7f9ba2e51
  - [net-next,08/10] net: ipa: kill replenish_backlog
    https://git.kernel.org/netdev/net-next/c/09b337dedaca
  - [net-next,09/10] net: ipa: replenish after delivering payload
    https://git.kernel.org/netdev/net-next/c/5d6ac24fb10f
  - [net-next,10/10] net: ipa: determine replenish doorbell differently
    https://git.kernel.org/netdev/net-next/c/9654d8c462ce

You are awesome, thank you!