automatic DPDK test reports
 help / color / mirror / Atom feed
* |WARNING| pw110017-110019 [PATCH] [3/3] examples/pipeline: improve learner table timers
@ 2022-04-21 16:18 dpdklab
  0 siblings, 0 replies; only message in thread
From: dpdklab @ 2022-04-21 16:18 UTC (permalink / raw)
  To: test-report; +Cc: dpdk-test-reports

[-- Attachment #1: Type: text/plain, Size: 5429 bytes --]

Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/110017

_apply patch failure_

Submitter: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Date: Thursday, April 21 2022 15:59:51 
Applied on: CommitID:76076342ec8ef108a155938d46a88bb493fae60e
Apply patch set 110017-110019 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 2392 (offset -191 lines).
Hunk #2 succeeded at 2440 (offset -191 lines).
Hunk #3 succeeded at 5903 (offset -215 lines).
Hunk #4 succeeded at 6896 (offset -218 lines).
Hunk #5 succeeded at 8290 (offset -332 lines).
Hunk #6 succeeded at 8361 (offset -332 lines).
Hunk #7 succeeded at 8433 (offset -347 lines).
Hunk #8 succeeded at 8468 (offset -347 lines).
Hunk #9 succeeded at 8523 (offset -347 lines).
Hunk #10 succeeded at 9905 (offset -355 lines).
Hunk #11 succeeded at 10295 (offset -379 lines).
Hunk #12 succeeded at 10867 (offset -433 lines).
Hunk #13 succeeded at 11195 (offset -436 lines).
Hunk #14 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/21869/

UNH-IOL DPDK Community Lab

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-21 16:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-21 16:18 |WARNING| pw110017-110019 [PATCH] [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).