All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zhang, Qi Z" <qi.z.zhang@intel.com>
To: Qiming Chen <chenqiming_huawei@163.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Xing, Beilei" <beilei.xing@intel.com>
Subject: Re: [dpdk-dev] [PATCH] net/i40e: solve vf rxq buf size alignment
Date: Mon, 6 Sep 2021 01:49:26 +0000	[thread overview]
Message-ID: <0197c28a92604b3ea3e23d604ea782dd@intel.com> (raw)
In-Reply-To: <20210823041105.8006-1-chenqiming_huawei@163.com>



> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Qiming Chen
> Sent: Monday, August 23, 2021 12:11 PM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Qiming Chen
> <chenqiming_huawei@163.com>
> Subject: [dpdk-dev] [PATCH] net/i40e: solve vf rxq buf size alignment
> 
> The RTE_ALIGN macro is aligned upwards. If the buf_size variable is not aligned
> with 1 << I40E_RXQ_CTX_DBUFF_SHIFT, the rx_buf_len is larger than the
> actual mbuf memory after the operation. When receiving the packet, if the
> packet is larger than the configured buf_size, it will cause a memory stepping
> event.
> 
> The patch uses the RTE_ALIGN_FLOOR down alignment macro to correct the
> problem.
> 
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
> ---
>  drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index 924da8dfb4..5b1c8e76ab 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -1927,7 +1927,7 @@ i40evf_rxq_init(struct rte_eth_dev *dev, struct
> i40e_rx_queue *rxq)
>  					RTE_PKTMBUF_HEADROOM);
>  	rxq->hs_mode = i40e_header_split_none;
>  	rxq->rx_hdr_len = 0;
> -	rxq->rx_buf_len = RTE_ALIGN(buf_size, (1 <<
> I40E_RXQ_CTX_DBUFF_SHIFT));
> +	rxq->rx_buf_len = RTE_ALIGN_FLOOR(buf_size, (1 <<
> +I40E_RXQ_CTX_DBUFF_SHIFT));
>  	len = rxq->rx_buf_len * I40E_MAX_CHAINED_RX_BUFFERS;
>  	rxq->max_pkt_len = RTE_MIN(len,
>  		dev_data->dev_conf.rxmode.max_rx_pkt_len);
> --
> 2.30.1.windows.1

The patch is not applied for main repo as i40evf will be removed, you can submit a fix to dpdk-stable directly.

      reply	other threads:[~2021-09-06  1:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-23  4:11 [dpdk-dev] [PATCH] net/i40e: solve vf rxq buf size alignment Qiming Chen
2021-09-06  1:49 ` Zhang, Qi Z [this message]

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=0197c28a92604b3ea3e23d604ea782dd@intel.com \
    --to=qi.z.zhang@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=chenqiming_huawei@163.com \
    --cc=dev@dpdk.org \
    /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.