* |WARNING| pw110172-110173 [PATCH] [V2, 3/3] examples/pipeline: improve learner table timers
@ 2022-04-22 13:18 dpdklab
0 siblings, 0 replies; only message in thread
From: dpdklab @ 2022-04-22 13:18 UTC (permalink / raw)
To: test-report; +Cc: dpdk-test-reports
[-- Attachment #1: Type: text/plain, Size: 5475 bytes --]
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/110172
_apply patch failure_
Submitter: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Date: Friday, April 22 2022 13:03:43
Applied on: CommitID:76076342ec8ef108a155938d46a88bb493fae60e
Apply patch set 110172-110173 failed:
Checking patch lib/pipeline/rte_swx_ctl.h...
Hunk #1 succeeded at 623 (offset -6 lines).
Checking patch lib/pipeline/rte_swx_pipeline.c...
Hunk #1 succeeded at 2365 (offset -191 lines).
Hunk #2 succeeded at 2392 (offset -191 lines).
Hunk #3 succeeded at 2440 (offset -191 lines).
Hunk #4 succeeded at 5903 (offset -215 lines).
Hunk #5 succeeded at 6896 (offset -218 lines).
Hunk #6 succeeded at 8290 (offset -332 lines).
Hunk #7 succeeded at 8361 (offset -332 lines).
Hunk #8 succeeded at 8433 (offset -347 lines).
Hunk #9 succeeded at 8468 (offset -347 lines).
Hunk #10 succeeded at 8523 (offset -347 lines).
Hunk #11 succeeded at 9905 (offset -355 lines).
Hunk #12 succeeded at 10295 (offset -379 lines).
Hunk #13 succeeded at 10867 (offset -433 lines).
Hunk #14 succeeded at 11195 (offset -436 lines).
Hunk #15 succeeded at 11415 (offset -439 lines).
Checking patch lib/pipeline/rte_swx_pipeline.h...
Hunk #1 succeeded at 754 (offset -32 lines).
Hunk #2 succeeded at 770 (offset -32 lines).
Checking patch lib/pipeline/rte_swx_pipeline_internal.h...
Hunk #1 succeeded at 449 (offset -27 lines).
Hunk #2 succeeded at 588 (offset -27 lines).
Hunk #3 succeeded at 828 (offset -28 lines).
Hunk #4 succeeded at 843 (offset -28 lines).
Hunk #5 succeeded at 2048 (offset -162 lines).
Hunk #6 succeeded at 2063 (offset -162 lines).
Hunk #7 succeeded at 2074 (offset -162 lines).
Checking patch lib/pipeline/rte_swx_pipeline_spec.c...
Hunk #1 succeeded at 22 (offset -7 lines).
error: while searching for:
* }
* default_action ACTION_NAME args none | ARG0_NAME ARG0_VALUE ... [ const ]
* size SIZE
* timeout TIMEOUT_IN_SECONDS
* }
*/
struct learner_spec {
char *name;
struct rte_swx_pipeline_learner_params params;
uint32_t size;
uint32_t timeout;
};
static void
error: patch failed: lib/pipeline/rte_swx_pipeline_spec.c:1395
Hunk #3 succeeded at 1388 (offset -74 lines).
error: while searching for:
return status;
}
static int
learner_statement_parse(struct learner_spec *s,
uint32_t *block_mask,
error: patch failed: lib/pipeline/rte_swx_pipeline_spec.c:1719
Hunk #5 succeeded at 1626 (offset -251 lines).
Hunk #6 succeeded at 1715 (offset -224 lines).
Hunk #7 succeeded at 2232 (offset -224 lines).
Applied patch lib/pipeline/rte_swx_ctl.h cleanly.
Applied patch lib/pipeline/rte_swx_pipeline.c cleanly.
Applied patch lib/pipeline/rte_swx_pipeline.h cleanly.
Applied patch lib/pipeline/rte_swx_pipeline_internal.h cleanly.
Applying patch lib/pipeline/rte_swx_pipeline_spec.c with 2 rejects...
Hunk #1 applied cleanly.
Rejected hunk #2.
Hunk #3 applied cleanly.
Rejected hunk #4.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Hunk #7 applied cleanly.
diff a/lib/pipeline/rte_swx_pipeline_spec.c b/lib/pipeline/rte_swx_pipeline_spec.c (rejected hunks)
@@ -1395,14 +1396,18 @@ selector_block_parse(struct selector_spec *s,
* }
* default_action ACTION_NAME args none | ARG0_NAME ARG0_VALUE ... [ const ]
* size SIZE
- * timeout TIMEOUT_IN_SECONDS
+ * timeout {
+ * TIMEOUT_IN_SECONDS
+ * ...
+ * }
* }
*/
struct learner_spec {
char *name;
struct rte_swx_pipeline_learner_params params;
uint32_t size;
- uint32_t timeout;
+ uint32_t *timeout;
+ uint32_t n_timeouts;
};
static void
@@ -1719,6 +1727,95 @@ learner_default_action_statement_parse(struct learner_spec *s,
return status;
}
+static int
+learner_timeout_statement_parse(uint32_t *block_mask,
+ char **tokens,
+ uint32_t n_tokens,
+ uint32_t n_lines,
+ uint32_t *err_line,
+ const char **err_msg)
+{
+ /* Check format. */
+ if ((n_tokens != 2) || strcmp(tokens[1], "{")) {
+ if (err_line)
+ *err_line = n_lines;
+ if (err_msg)
+ *err_msg = "Invalid timeout statement.";
+ return -EINVAL;
+ }
+
+ /* block_mask. */
+ *block_mask |= 1 << LEARNER_TIMEOUT_BLOCK;
+
+ return 0;
+}
+
+static int
+learner_timeout_block_parse(struct learner_spec *s,
+ uint32_t *block_mask,
+ char **tokens,
+ uint32_t n_tokens,
+ uint32_t n_lines,
+ uint32_t *err_line,
+ const char **err_msg)
+{
+ uint32_t *new_timeout = NULL;
+ char *str;
+ uint32_t val;
+ int status = 0;
+
+ /* Handle end of block. */
+ if ((n_tokens == 1) && !strcmp(tokens[0], "}")) {
+ *block_mask &= ~(1 << LEARNER_TIMEOUT_BLOCK);
+ return 0;
+ }
+
+ /* Check input arguments. */
+ if (n_tokens != 1) {
+ status = -EINVAL;
+ goto error;
+ }
+
+ str = tokens[0];
+ val = strtoul(str, &str, 0);
+ if (str[0]) {
+ status = -EINVAL;
+ goto error;
+ }
+
+ new_timeout = realloc(s->timeout, (s->n_timeouts + 1) * sizeof(uint32_t));
+ if (!new_timeout) {
+ status = -ENOMEM;
+ goto error;
+ }
+
+ s->timeout = new_timeout;
+ s->timeout[s->n_timeouts] = val;
+ s->n_timeouts++;
+
+ return 0;
+
+error:
+ free(new_timeout);
+
+ if (err_line)
+ *err_line = n_lines;
+
+ if (err_msg)
+ switch (status) {
+ case -ENOMEM:
+ *err_msg = "Memory allocation failed.";
+ break;
+
+ default:
+ *err_msg = "Invalid timeout value statement.";
+ break;
+ }
+
+ return status;
+}
+
+
static int
learner_statement_parse(struct learner_spec *s,
uint32_t *block_mask,
https://lab.dpdk.org/results/dashboard/patchsets/21888/
UNH-IOL DPDK Community Lab
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-04-22 13:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22 13:18 |WARNING| pw110172-110173 [PATCH] [V2, 3/3] examples/pipeline: improve learner table timers dpdklab
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).