[dpdk-stable] patch 'app/testpmd: fix parsing RSS queue rule' has been queued to LTS release 18.11.3
Kevin Traynor
ktraynor at redhat.com
Tue Aug 27 11:29:51 CEST 2019
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/03/19. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/fdedb6180886c2326db6d7b19b3db0d8c9397055
Thanks.
Kevin Traynor
---
>From fdedb6180886c2326db6d7b19b3db0d8c9397055 Mon Sep 17 00:00:00 2001
From: Haiyue Wang <haiyue.wang at intel.com>
Date: Tue, 25 Jun 2019 18:38:03 +0800
Subject: [PATCH] app/testpmd: fix parsing RSS queue rule
[ upstream commit 9a45c4981c351bdef78a69d1f7b7788f2614913f ]
Declare a local variable 'arg' to hold the pointer to ARGS_ENTRY_ARB,
otherwise, the pop 'arg' in 'parse_int' holds wrong data like 'arg->
offset = 5912737, arg->size = 0', this caused the parse failure.
If calling like 'push_args(ctx, ARGS_ENTRY_ARB..)', the below code for
assigning 'offset & size' will be missed for some gcc optimization.
parse_vc_action_rss_queue
29c5: c5 f9 ef c0 vpxor %xmm0,%xmm0,%xmm0
29c9: 43 8d 44 24 68 lea 0x68(%r12,%r12,1),%eax
29ce: 48 c7 44 24 20 00 00 movq $0x0,0x20(%rsp)
29d5: 00 00
29d7: c5 f8 29 44 24 10 vmovaps %xmm0,0x10(%rsp)
29dd: 89 44 24 18 mov %eax,0x18(%rsp)
29e1: 48 63 83 0c 01 00 00 movslq 0x10c(%rbx),%rax
29e8: c7 44 24 1c 02 00 00 movl $0x2,0x1c(%rsp)
29ef: 00
29f0: c5 f8 29 04 24 vmovaps %xmm0,(%rsp)
The above assembly code is from this modification with:
gcc version 9.1.1 20190503 (Red Hat 9.1.1-1) (GCC)
Fedora release 30 (Thirty)
5.1.11-300.fc30.x86_64
Fixes: d0ad8648b1c5 ("app/testpmd: fix RSS flow action configuration")
Signed-off-by: Haiyue Wang <haiyue.wang at intel.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye at intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger at intel.com>
---
app/test-pmd/cmdline_flow.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index fe5bda9dc..d1fd27327 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -3379,4 +3379,5 @@ parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
static const enum index next[] = NEXT_ENTRY(ACTION_RSS_QUEUE);
struct action_rss_data *action_rss_data;
+ const struct arg *arg;
int ret;
int i;
@@ -3394,8 +3395,8 @@ parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
if (i >= ACTION_RSS_QUEUE_NUM)
return -1;
- if (push_args(ctx,
- ARGS_ENTRY_ARB(offsetof(struct action_rss_data, queue) +
- i * sizeof(action_rss_data->queue[i]),
- sizeof(action_rss_data->queue[i]))))
+ arg = ARGS_ENTRY_ARB(offsetof(struct action_rss_data, queue) +
+ i * sizeof(action_rss_data->queue[i]),
+ sizeof(action_rss_data->queue[i]));
+ if (push_args(ctx, arg))
return -1;
ret = parse_int(ctx, token, str, len, NULL, 0);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-27 09:40:11.667680895 +0100
+++ 0014-app-testpmd-fix-parsing-RSS-queue-rule.patch 2019-08-27 09:40:10.872145553 +0100
@@ -1 +1 @@
-From 9a45c4981c351bdef78a69d1f7b7788f2614913f Mon Sep 17 00:00:00 2001
+From fdedb6180886c2326db6d7b19b3db0d8c9397055 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9a45c4981c351bdef78a69d1f7b7788f2614913f ]
+
@@ -31 +32,0 @@
-Cc: stable at dpdk.org
@@ -41 +42 @@
-index 4e5fa7a2d..e3e8448c9 100644
+index fe5bda9dc..d1fd27327 100644
@@ -44 +45 @@
-@@ -3479,4 +3479,5 @@ parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
+@@ -3379,4 +3379,5 @@ parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
@@ -50 +51 @@
-@@ -3494,8 +3495,8 @@ parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
+@@ -3394,8 +3395,8 @@ parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
More information about the stable
mailing list