All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Alexander Lobakin <aleksander.lobakin@intel.com>
Cc: <intel-wired-lan@lists.osuosl.org>,
	Michal Kubiak <michal.kubiak@intel.com>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	"Przemek Kitszel" <przemyslaw.kitszel@intel.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	"Alexei Starovoitov" <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	Simon Horman <horms@kernel.org>, <bpf@vger.kernel.org>,
	<netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH iwl-next 07/16] libeth: xdp: add XDPSQ cleanup timers
Date: Thu, 24 Apr 2025 17:33:59 +0200	[thread overview]
Message-ID: <aApZ55JEtybm32eZ@boxer> (raw)
In-Reply-To: <20250415172825.3731091-8-aleksander.lobakin@intel.com>

On Tue, Apr 15, 2025 at 07:28:16PM +0200, Alexander Lobakin wrote:
> When XDP Tx queues are not interrupt-driven but use lazy cleaning,
> i.e. only when there are less than `threshold` free descriptors left,
> we also need cleanup timers to avoid &xdp_buff and &xdp_frame stall
> for too long, especially with Page Pool (it warns every about inflight
> pages every 60 second).
> Let's say we sent 256 frames and don't need to send more, but we clean
> only when the number of pending items >= 384. In that case, those 256
> will stall until 128 more are sent. For this, add simple helpers to
> run a timer which will clean the queue regardless, after 1 second of
> the last send.
> The timer is triggered when finalizing the queue. As long as there is
> regular active traffic, the timer doesn't fire.
> 
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>

Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>

WARNING: multiple messages have this Message-ID (diff)
From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Alexander Lobakin <aleksander.lobakin@intel.com>
Cc: <intel-wired-lan@lists.osuosl.org>,
	Michal Kubiak <michal.kubiak@intel.com>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	"Przemek Kitszel" <przemyslaw.kitszel@intel.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	 "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	"Alexei Starovoitov" <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	Simon Horman <horms@kernel.org>, <bpf@vger.kernel.org>,
	<netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next 07/16] libeth: xdp: add XDPSQ cleanup timers
Date: Thu, 24 Apr 2025 17:33:59 +0200	[thread overview]
Message-ID: <aApZ55JEtybm32eZ@boxer> (raw)
In-Reply-To: <20250415172825.3731091-8-aleksander.lobakin@intel.com>

On Tue, Apr 15, 2025 at 07:28:16PM +0200, Alexander Lobakin wrote:
> When XDP Tx queues are not interrupt-driven but use lazy cleaning,
> i.e. only when there are less than `threshold` free descriptors left,
> we also need cleanup timers to avoid &xdp_buff and &xdp_frame stall
> for too long, especially with Page Pool (it warns every about inflight
> pages every 60 second).
> Let's say we sent 256 frames and don't need to send more, but we clean
> only when the number of pending items >= 384. In that case, those 256
> will stall until 128 more are sent. For this, add simple helpers to
> run a timer which will clean the queue regardless, after 1 second of
> the last send.
> The timer is triggered when finalizing the queue. As long as there is
> regular active traffic, the timer doesn't fire.
> 
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>

Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>

  reply	other threads:[~2025-04-24 15:34 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-15 17:28 [PATCH iwl-next 00/16] libeth: add libeth_xdp helper lib Alexander Lobakin
2025-04-15 17:28 ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 01/16] libeth: convert to netmem Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-16  6:54   ` Loktionov, Aleksandr
2025-04-16  6:54     ` Loktionov, Aleksandr
2025-04-17 12:26     ` Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 02/16] libeth: support native XDP and register memory model Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 03/16] libeth: xdp: add XDP_TX buffers sending Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-24 12:48   ` Maciej Fijalkowski
2025-04-24 12:48     ` [Intel-wired-lan] " Maciej Fijalkowski
2025-05-13 14:58     ` Alexander Lobakin
2025-05-13 14:58       ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 04/16] libeth: xdp: add .ndo_xdp_xmit() helpers Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-24 13:06   ` Maciej Fijalkowski
2025-04-24 13:06     ` [Intel-wired-lan] " Maciej Fijalkowski
2025-04-15 17:28 ` [PATCH iwl-next 05/16] libeth: xdp: add XDPSQE completion helpers Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 06/16] libeth: xdp: add XDPSQ locking helpers Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-24 15:27   ` Maciej Fijalkowski
2025-04-24 15:27     ` [Intel-wired-lan] " Maciej Fijalkowski
2025-04-15 17:28 ` [PATCH iwl-next 07/16] libeth: xdp: add XDPSQ cleanup timers Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-24 15:33   ` Maciej Fijalkowski [this message]
2025-04-24 15:33     ` Maciej Fijalkowski
2025-04-15 17:28 ` [PATCH iwl-next 08/16] libeth: xdp: add helpers for preparing/processing &libeth_xdp_buff Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 09/16] libeth: xdp: add XDP prog run and verdict result handling Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 10/16] libeth: xdp: add templates for building driver-side callbacks Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 11/16] libeth: xdp: add RSS hash hint and XDP features setup helpers Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 12/16] libeth: xsk: add XSk XDP_TX sending helpers Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 13/16] libeth: xsk: add XSk xmit functions Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 14/16] libeth: xsk: add XSk Rx processing support Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 15/16] libeth: xsk: add XSkFQ refill and XSk wakeup helpers Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin
2025-04-15 17:28 ` [PATCH iwl-next 16/16] libeth: xdp, xsk: access adjacent u32s as u64 where applicable Alexander Lobakin
2025-04-15 17:28   ` [Intel-wired-lan] " Alexander Lobakin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aApZ55JEtybm32eZ@boxer \
    --to=maciej.fijalkowski@intel.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=anthony.l.nguyen@intel.com \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=horms@kernel.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.kubiak@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=przemyslaw.kitszel@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.