From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
Cc: <intel-wired-lan@lists.osuosl.org>, <jesse.brandeburg@intel.com>,
<anthony.l.nguyen@intel.com>, <netdev@vger.kernel.org>,
<bpf@vger.kernel.org>, <magnus.karlsson@intel.com>
Subject: Re: [PATCH net] i40e: sync next_to_clean and next_to_process for programming status desc
Date: Wed, 4 Oct 2023 15:16:20 +0200 [thread overview]
Message-ID: <ZR1lpCB1FqqbdSEX@boxer> (raw)
In-Reply-To: <20231004083454.20143-1-tirthendu.sarkar@intel.com>
On Wed, Oct 04, 2023 at 02:04:54PM +0530, Tirthendu Sarkar wrote:
> When a programming status desc is encountered on the rx_ring,
> next_to_process is bumped along with cleaned_count but next_to_clean is
> not. This causes I40E_DESC_UNUSED() macro to misbehave resulting in
> overwriting whole ring with new buffers.
>
> Update next_to_clean to point to next_to_process on seeing a programming
> status desc if not in the middle of handling a multi-frag packet. Also,
> bump cleaned_count only for such case as otherwise next_to_clean buffer
> may be returned to hardware on reaching clean_threshold.
>
> Fixes: e9031f2da1ae ("i40e: introduce next_to_process to i40e_ring")
> Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Reported-by: hq.dev+kernel@msdfc.xyz
> Reported by: Solomon Peachy <pizza@shaftnet.org>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217678
> Tested-by: hq.dev+kernel@msdfc.xyz
Could you ask for a name of that someone?
> Tested by: Indrek Järve <incx@dustbite.net>
> Signed-off-by: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> ---
> drivers/net/ethernet/intel/i40e/i40e_txrx.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
> index 0b3a27f118fb..50c70a8e470a 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
> @@ -2544,7 +2544,14 @@ static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget,
> rx_buffer = i40e_rx_bi(rx_ring, ntp);
> i40e_inc_ntp(rx_ring);
> i40e_reuse_rx_page(rx_ring, rx_buffer);
> - cleaned_count++;
> + /* Update ntc and bump cleaned count if not in the
> + * middle of mb packet.
> + */
> + if (rx_ring->next_to_clean == ntp) {
> + rx_ring->next_to_clean =
> + rx_ring->next_to_process;
> + cleaned_count++;
> + }
> continue;
> }
>
> --
> 2.34.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
Cc: netdev@vger.kernel.org, jesse.brandeburg@intel.com,
anthony.l.nguyen@intel.com, intel-wired-lan@lists.osuosl.org,
bpf@vger.kernel.org, magnus.karlsson@intel.com
Subject: Re: [Intel-wired-lan] [PATCH net] i40e: sync next_to_clean and next_to_process for programming status desc
Date: Wed, 4 Oct 2023 15:16:20 +0200 [thread overview]
Message-ID: <ZR1lpCB1FqqbdSEX@boxer> (raw)
In-Reply-To: <20231004083454.20143-1-tirthendu.sarkar@intel.com>
On Wed, Oct 04, 2023 at 02:04:54PM +0530, Tirthendu Sarkar wrote:
> When a programming status desc is encountered on the rx_ring,
> next_to_process is bumped along with cleaned_count but next_to_clean is
> not. This causes I40E_DESC_UNUSED() macro to misbehave resulting in
> overwriting whole ring with new buffers.
>
> Update next_to_clean to point to next_to_process on seeing a programming
> status desc if not in the middle of handling a multi-frag packet. Also,
> bump cleaned_count only for such case as otherwise next_to_clean buffer
> may be returned to hardware on reaching clean_threshold.
>
> Fixes: e9031f2da1ae ("i40e: introduce next_to_process to i40e_ring")
> Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Reported-by: hq.dev+kernel@msdfc.xyz
> Reported by: Solomon Peachy <pizza@shaftnet.org>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217678
> Tested-by: hq.dev+kernel@msdfc.xyz
Could you ask for a name of that someone?
> Tested by: Indrek Järve <incx@dustbite.net>
> Signed-off-by: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> ---
> drivers/net/ethernet/intel/i40e/i40e_txrx.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
> index 0b3a27f118fb..50c70a8e470a 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
> @@ -2544,7 +2544,14 @@ static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget,
> rx_buffer = i40e_rx_bi(rx_ring, ntp);
> i40e_inc_ntp(rx_ring);
> i40e_reuse_rx_page(rx_ring, rx_buffer);
> - cleaned_count++;
> + /* Update ntc and bump cleaned count if not in the
> + * middle of mb packet.
> + */
> + if (rx_ring->next_to_clean == ntp) {
> + rx_ring->next_to_clean =
> + rx_ring->next_to_process;
> + cleaned_count++;
> + }
> continue;
> }
>
> --
> 2.34.1
>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
next prev parent reply other threads:[~2023-10-04 13:16 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-04 8:34 [PATCH net] i40e: sync next_to_clean and next_to_process for programming status desc Tirthendu Sarkar
2023-10-04 8:34 ` [Intel-wired-lan] " Tirthendu Sarkar
2023-10-04 13:16 ` Maciej Fijalkowski [this message]
2023-10-04 13:16 ` Maciej Fijalkowski
2023-10-13 9:57 ` Arland, ArpanaX
2023-10-13 9:57 ` Arland, ArpanaX
-- strict thread matches above, loose matches on Subject: below --
2023-10-19 20:38 Jacob Keller
2023-10-20 10:56 ` Maciej Fijalkowski
2023-10-20 17:19 ` Jacob Keller
2023-10-21 2:00 ` patchwork-bot+netdevbpf
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=ZR1lpCB1FqqbdSEX@boxer \
--to=maciej.fijalkowski@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=bpf@vger.kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jesse.brandeburg@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=tirthendu.sarkar@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.