From: "Zhang, Qi Z" <qi.z.zhang@intel.com>
To: Joyce Kong <joyce.kong@arm.com>,
"Xing, Beilei" <beilei.xing@intel.com>,
"ruifeng.wang@arm.com" <ruifeng.wang@arm.com>,
"honnappa.nagarahalli@arm.com" <honnappa.nagarahalli@arm.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "nd@arm.com" <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH v1] net/i40e: remove the SMP barrier in HW scanning func
Date: Sun, 6 Jun 2021 14:17:55 +0000 [thread overview]
Message-ID: <561469a10f13450bae9e857f186b0123@intel.com> (raw)
In-Reply-To: <20210604073405.14880-1-joyce.kong@arm.com>
> -----Original Message-----
> From: Joyce Kong <joyce.kong@arm.com>
> Sent: Friday, June 4, 2021 3:34 PM
> To: Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> ruifeng.wang@arm.com; honnappa.nagarahalli@arm.com
> Cc: dev@dpdk.org; nd@arm.com
> Subject: [PATCH v1] net/i40e: remove the SMP barrier in HW scanning func
>
> Add the logic to determine how many DD bits have been set for contiguous
> packets, for removing the SMP barrier while reading descs.
I didn't understand this.
The current logic already guarantee the read out DD bits are from continue packets, as it read Rx descriptor in a reversed order from the ring.
So I didn't see the a new logic be added, would you describe more clear about the purpose of this patch?
>
> Signed-off-by: Joyce Kong <joyce.kong@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> ---
> drivers/net/i40e/i40e_rxtx.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index
> 6c58decec..410a81f30 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -452,7 +452,7 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq)
> uint16_t pkt_len;
> uint64_t qword1;
> uint32_t rx_status;
> - int32_t s[I40E_LOOK_AHEAD], nb_dd;
> + int32_t s[I40E_LOOK_AHEAD], var, nb_dd;
> int32_t i, j, nb_rx = 0;
> uint64_t pkt_flags;
> uint32_t *ptype_tbl = rxq->vsi->adapter->ptype_tbl; @@ -482,11 +482,14
> @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq)
> I40E_RXD_QW1_STATUS_SHIFT;
> }
>
> - rte_smp_rmb();
Any performance gain by removing this? and it is not necessary to be combined with below change, right?
> -
> /* Compute how many status bits were set */
> - for (j = 0, nb_dd = 0; j < I40E_LOOK_AHEAD; j++)
> - nb_dd += s[j] & (1 << I40E_RX_DESC_STATUS_DD_SHIFT);
> + for (j = 0, nb_dd = 0; j < I40E_LOOK_AHEAD; j++) {
> + var = s[j] & (1 << I40E_RX_DESC_STATUS_DD_SHIFT);
> + if (var)
> + nb_dd += 1;
> + else
> + break;
> + }
>
> nb_rx += nb_dd;
>
> --
> 2.17.1
next prev parent reply other threads:[~2021-06-06 14:18 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-04 7:34 Joyce Kong
2021-06-04 16:12 ` Honnappa Nagarahalli
2021-06-06 14:17 ` Zhang, Qi Z [this message]
2021-06-06 18:33 ` Honnappa Nagarahalli
2021-06-07 14:55 ` Zhang, Qi Z
2021-06-07 21:36 ` Honnappa Nagarahalli
2021-06-15 6:30 ` Joyce Kong
2021-06-16 13:29 ` Zhang, Qi Z
2021-06-16 13:37 ` Bruce Richardson
2021-06-16 20:26 ` Honnappa Nagarahalli
2021-06-23 8:43 ` [dpdk-dev] [PATCH v2] net/i40e: add logic of processing continuous DD bits for Arm Joyce Kong
2021-06-30 1:14 ` Honnappa Nagarahalli
2021-07-05 3:41 ` Joyce Kong
2021-07-06 6:54 ` [dpdk-dev] [PATCH v3 0/2] fixes for i40e hw scan ring Joyce Kong
2021-07-06 6:54 ` [dpdk-dev] [PATCH v3 1/2] net/i40e: add logic of processing continuous DD bits for Arm Joyce Kong
2021-07-09 3:05 ` Zhang, Qi Z
2021-07-06 6:54 ` [dpdk-dev] [PATCH v3 2/2] net/i40e: replace SMP barrier with thread fence Joyce Kong
2021-07-08 12:09 ` Zhang, Qi Z
2021-07-08 13:51 ` Lance Richardson
2021-07-08 14:26 ` Zhang, Qi Z
2021-07-08 14:44 ` Honnappa Nagarahalli
2021-07-13 0:46 ` Zhang, Qi Z
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=561469a10f13450bae9e857f186b0123@intel.com \
--to=qi.z.zhang@intel.com \
--cc=beilei.xing@intel.com \
--cc=dev@dpdk.org \
--cc=honnappa.nagarahalli@arm.com \
--cc=joyce.kong@arm.com \
--cc=nd@arm.com \
--cc=ruifeng.wang@arm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).