From: Zoltan Kiss <zoltan.kiss@linaro.org>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH v2] ixgbe: fix check for split packets
Date: Wed, 22 Jul 2015 14:19:49 +0100 [thread overview]
Message-ID: <55AF9875.7010001@linaro.org> (raw)
In-Reply-To: <20150722095946.GB11652@bricha3-MOBL3>
On 22/07/15 10:59, Bruce Richardson wrote:
> On Wed, Jul 22, 2015 at 10:47:34AM +0100, Zoltan Kiss wrote:
>> Hi,
>>
>> And what happens if someone changes RTE_IXGBE_VPMD_RX_BURST to something
>> else than 32? I guess this bug were introduced when someone raised it from
>> 16 to 32
>
> Actually, no, this bug is purely due to me getting my maths wrong when I
> wrote this function. The vector PMD has always worked in bursts of 32 at a
> time.
>
>> I think you are better off with a for loop which uses this value. Or at
>> least make a comment around RTE_IXGBE_VPMD_RX_BURST that if you change that
>> value this check should be modified as well.
>
> The vector PMD always works off a fixed 32 burst size. Any change to that will
> lead to many changes in the code, so I don't believe a loop is necessary.
Ok, then I suggest to make a comment around RTE_IXGBE_VPMD_RX_BURST that
changing it needs a lot of other changes in the code elsewhere, e.g in
this split_flags check.
Btw. vPMD was a bit misleading abbreviation for me, it took me a while
until I realized 'v' stands for 'vector', not 'virtualization' as in
most cases nowadays.
>
> Regards,
> /Bruce
>
>>
>> Regards,
>>
>> Zoltan
>>
>> On 22/07/15 10:13, Bruce Richardson wrote:
>>> The check for split packets to be reassembled in the vector ixgbe PMD
>>> was incorrectly only checking the first 16 elements of the array instead
>>> of all 32. This is fixed by changing the uint32_t values to be uint64_t
>>> instead.
>>>
>>> Fixes: cf4b4708a88a ("ixgbe: improve slow-path perf with vector scattered Rx")
>>>
>>> Reported-by: Zoltan Kiss <zoltan.kiss@linaro.org>
>>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>>>
>>> ---
>>> V2: Rename variable from split_fl32 to split_fl64 to match type change.
>>> ---
>>> drivers/net/ixgbe/ixgbe_rxtx_vec.c | 6 +++---
>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec.c b/drivers/net/ixgbe/ixgbe_rxtx_vec.c
>>> index d3ac74a..f2052c6 100644
>>> --- a/drivers/net/ixgbe/ixgbe_rxtx_vec.c
>>> +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec.c
>>> @@ -549,10 +549,10 @@ ixgbe_recv_scattered_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
>>> return 0;
>>>
>>> /* happy day case, full burst + no packets to be joined */
>>> - const uint32_t *split_fl32 = (uint32_t *)split_flags;
>>> + const uint64_t *split_fl64 = (uint64_t *)split_flags;
>>> if (rxq->pkt_first_seg == NULL &&
>>> - split_fl32[0] == 0 && split_fl32[1] == 0 &&
>>> - split_fl32[2] == 0 && split_fl32[3] == 0)
>>> + split_fl64[0] == 0 && split_fl64[1] == 0 &&
>>> + split_fl64[2] == 0 && split_fl64[3] == 0)
>>> return nb_bufs;
>>>
>>> /* reassemble any packets that need reassembly*/
>>>
next prev parent reply other threads:[~2015-07-22 13:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-21 15:25 [PATCH] ixgbe: fix check for split packets Bruce Richardson
2015-07-22 0:44 ` Lu, Wenzhuo
2015-07-22 8:29 ` Bruce Richardson
2015-07-22 9:13 ` [PATCH v2] " Bruce Richardson
2015-07-22 9:47 ` Zoltan Kiss
2015-07-22 9:59 ` Bruce Richardson
2015-07-22 13:19 ` Zoltan Kiss [this message]
2015-07-22 13:22 ` Zoltan Kiss
2015-07-22 13:35 ` Richardson, Bruce
2015-07-22 13:47 ` Thomas Monjalon
2015-07-26 12:41 ` Thomas Monjalon
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=55AF9875.7010001@linaro.org \
--to=zoltan.kiss@linaro.org \
--cc=bruce.richardson@intel.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.