All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liang Ma <liangma@liangbit.com>
To: Bin Zheng <zhengbin.89740@bytedance.com>
Cc: dev@dpdk.org, haiyue.wang@intel.com, stable@dpdk.org,
	leyi.rong@intel.com, jia.guo@intel.com
Subject: Re: [PATCH v3] net/ixgbe: add vector Rx parameter check
Date: Wed, 15 Dec 2021 08:07:21 +0000	[thread overview]
Message-ID: <YbmiOeEvmBskoGLB@C02GF04TMD6V> (raw)
In-Reply-To: <20211210082209.4102794-1-zhengbin.89740@bytedance.com>

On Fri, Dec 10, 2021 at 04:22:09PM +0800, Bin Zheng wrote:
> Under the circumstance that `rx_tail` wrap back to zero
> and the advance speed of `rx_tail` is greater than `rxrearm_start`,
> `rx_tail` will catch up with `rxrearm_start` and surpass it.
> This may cause some mbufs be reused by application.
> 
> So we need to make some restrictions to ensure that
>  `rx_tail` will not exceed `rxrearm_start`.
> 
> e.g.
> 
> RDH: 972 RDT: 991 rxrearm_nb: 991 rxrearm_start: 992 rx_tail: 959
> RDH: 1004 RDT: 1023 rxrearm_nb: 991 rxrearm_start: 0 rx_tail: 991
> RDH: 12 RDT: 31 rxrearm_nb: 991 rxrearm_start: 32 rx_tail: 1023
> RDH: 31 RDT: 63 rxrearm_nb: 960 rxrearm_start: 64 rx_tail: 0
> RDH: 95 RDT: 95 rxrearm_nb: 1016 rxrearm_start: 96 rx_tail: 88
> RDH: 95 RDT: 127 rxrearm_nb: 991 rxrearm_start: 128 rx_tail: 95
> ...
> RDH: 908 RDT: 927 rxrearm_nb: 991 rxrearm_start: 928 rx_tail: 895
> RDH: 940 RDT: 959 rxrearm_nb: 991 rxrearm_start: 960 rx_tail: 927
> RDH: 980 RDT: 991 rxrearm_nb: 991 rxrearm_start: 992 rx_tail: 959
> RDH: 991 RDT: 991 rxrearm_nb: 1026 rxrearm_start: 992 rx_tail: 994
> 
> when `rx_tail` catches up with `rxrearm_start`,
> 2(994 - 992) mbufs be reused by application !
> 
> Bugzilla ID: 882
> Fixes: 5a3cca342417 ("net/ixgbe: fix vector Rx")
> Cc: jia.guo@intel.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Bin Zheng <zhengbin.89740@bytedance.com>
> ---
>  drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> index 1eed949495..4654d0adec 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> @@ -364,6 +364,17 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
>  	uint8_t vlan_flags;
>  	uint16_t udp_p_flag = 0; /* Rx Descriptor UDP header present */
>  
> +	/*
> +	 * Under the circumstance that `rx_tail` wrap back to zero
> +	 * and the advance speed of `rx_tail` is greater than `rxrearm_start`,
> +	 * `rx_tail` will catch up with `rxrearm_start` and surpass it.
> +	 * This may cause some mbufs be reused by application.
> +	 *
> +	 * So we need to make some restrictions to ensure that
> +	 * `rx_tail` will not exceed `rxrearm_start`.
> +	 */
> +	nb_pkts = RTE_MIN(nb_pkts, RTE_IXGBE_RXQ_REARM_THRESH);
> +
>  	/* nb_pkts has to be floor-aligned to RTE_IXGBE_DESCS_PER_LOOP */
>  	nb_pkts = RTE_ALIGN_FLOOR(nb_pkts, RTE_IXGBE_DESCS_PER_LOOP);
>  
> -- 
> 2.25.1
> 
Reviewed-by Liang Ma <liangma@liangbit.com>

  parent reply	other threads:[~2021-12-15  8:07 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-02  9:20 [PATCH v2 1/2] net/ixgbe: add vector Rx parameter check Bin Zheng
2021-12-02  9:20 ` [PATCH v2 2/2] net/ixgbe: fix spelling mistakes Bin Zheng
2021-12-02 12:53   ` Wang, Haiyue
2021-12-10  8:22   ` [PATCH v3] net/ixgbe: add vector Rx parameter check Bin Zheng
2021-12-13  3:02     ` Rong, Leyi
2021-12-14  7:29       ` Wang, Haiyue
2022-01-11  0:31         ` Zhang, Qi Z
2021-12-15  8:07     ` Liang Ma [this message]
2021-12-10  7:58 Bin Zheng

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=YbmiOeEvmBskoGLB@C02GF04TMD6V \
    --to=liangma@liangbit.com \
    --cc=dev@dpdk.org \
    --cc=haiyue.wang@intel.com \
    --cc=jia.guo@intel.com \
    --cc=leyi.rong@intel.com \
    --cc=stable@dpdk.org \
    --cc=zhengbin.89740@bytedance.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.