automatic DPDK test reports
 help / color / mirror / Atom feed
From: dpdklab@iol.unh.edu
To: test-report@dpdk.org
Cc: dpdk-test-reports@iol.unh.edu
Subject: |WARNING| pw117856 [PATCH] [v1, 28/35] net/ionic: add Q-in-CMB option controlled by devarg
Date: Mon, 10 Oct 2022 23:39:22 -0400 (EDT)	[thread overview]
Message-ID: <20221011033922.7F37D6D509@noxus.dpdklab.iol.unh.edu> (raw)

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

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

_apply patch failure_

Submitter: Andrew Boyer <Andrew.Boyer@amd.com>
Date: Tuesday, October 11 2022 00:50:25 
Applied on: CommitID:f13604fad12a81383da7b04821a4befb3d01e2ed
Apply patch set 117856 failed:

Checking patch doc/guides/nics/ionic.rst...
error: while searching for:
This support was added prior to version 1.0. For help upgrading older versions,
please contact AMD Pensando support.

Building DPDK
-------------


error: patch failed: doc/guides/nics/ionic.rst:32
Checking patch doc/guides/rel_notes/release_22_11.rst...
error: while searching for:
  * Added support for mbuf fast free.
  * Added support for advertising packet types.
  * Added support for descriptor status functions.

* **Added support for MACsec in rte_security.**


error: patch failed: doc/guides/rel_notes/release_22_11.rst:168
Checking patch drivers/net/ionic/ionic.h...
Hunk #1 succeeded at 26 (offset 2 lines).
error: while searching for:
	uint32_t link_speed;
	uint32_t nintrs;
	bool intrs[IONIC_INTR_CTRL_REGS_MAX];
	bool link_up;
	char fw_version[IONIC_DEVINFO_FWVERS_BUFLEN];
	void *bus_dev;
};

/** ionic_admin_ctx - Admin command context.

error: patch failed: drivers/net/ionic/ionic.h:62
Checking patch drivers/net/ionic/ionic_dev.h...
error: while searching for:
struct ionic_qcq;
struct rte_mempool;
struct rte_eth_dev;

struct ionic_dev_intf {
	int  (*setup)(struct ionic_adapter *adapter);
	void (*copy_bus_info)(struct ionic_adapter *adapter,
			struct rte_eth_dev *eth_dev);
	int  (*configure_intr)(struct ionic_adapter *adapter);

error: patch failed: drivers/net/ionic/ionic_dev.h:176
Checking patch drivers/net/ionic/ionic_dev_pci.c...
error: drivers/net/ionic/ionic_dev_pci.c: does not exist in index
Checking patch drivers/net/ionic/ionic_ethdev.c...
error: while searching for:

	adapter->intf = intf;

	/* Discover ionic dev resources */
	err = ionic_setup(adapter);
	if (err) {

error: patch failed: drivers/net/ionic/ionic_ethdev.c:1118
Checking patch drivers/net/ionic/ionic_lif.c...
Hunk #1 succeeded at 686 (offset 26 lines).
error: while searching for:
	int err;

	flags = IONIC_QCQ_F_SG;

	seg_size = rte_pktmbuf_data_room_size(mb_pool);


error: patch failed: drivers/net/ionic/ionic_lif.c:744
Hunk #3 succeeded at 779 (offset -44 lines).
Hunk #4 succeeded at 977 (offset -36 lines).
Hunk #5 succeeded at 1523 (offset -46 lines).
Hunk #6 succeeded at 1574 (offset -49 lines).
Checking patch drivers/net/ionic/ionic_lif.h...
Hunk #2 succeeded at 117 (offset -10 lines).
Checking patch drivers/net/ionic/ionic_rxtx.c...
error: while searching for:
	int err;

	struct ionic_txq_desc *desc_base = q->base;
	rte_prefetch0(&desc_base[q->head_idx]);
	rte_prefetch0(IONIC_INFO_PTR(q, q->head_idx));

	if (tx_pkts) {

error: patch failed: drivers/net/ionic/ionic_rxtx.c:600
error: while searching for:

	while (nb_tx < nb_pkts) {
		uint16_t next_idx = Q_NEXT_TO_POST(q, 1);
		rte_prefetch0(&desc_base[next_idx]);
		rte_prefetch0(IONIC_INFO_PTR(q, next_idx));

		if (nb_tx + 1 < nb_pkts) {

error: patch failed: drivers/net/ionic/ionic_rxtx.c:619
error: while searching for:
		/* Prefetch 4 x 16B comp */
		rte_prefetch0(&cq_desc_base[Q_NEXT_TO_SRVC(cq, 4)]);
		/* Prefetch 4 x 16B descriptors */
		rte_prefetch0(&q_desc_base[Q_NEXT_TO_POST(q, 4)]);

		ionic_rx_clean_one(rxq, cq_desc, rx_svc);


error: patch failed: drivers/net/ionic/ionic_rxtx.c:1172
Applying patch doc/guides/nics/ionic.rst with 1 reject...
Rejected hunk #1.
Applying patch doc/guides/rel_notes/release_22_11.rst with 1 reject...
Rejected hunk #1.
Applying patch drivers/net/ionic/ionic.h with 1 reject...
Hunk #1 applied cleanly.
Rejected hunk #2.
Applying patch drivers/net/ionic/ionic_dev.h with 1 reject...
Rejected hunk #1.
Applying patch drivers/net/ionic/ionic_ethdev.c with 1 reject...
Rejected hunk #1.
Applying patch drivers/net/ionic/ionic_lif.c with 1 reject...
Hunk #1 applied cleanly.
Rejected hunk #2.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Applied patch drivers/net/ionic/ionic_lif.h cleanly.
Applying patch drivers/net/ionic/ionic_rxtx.c with 3 rejects...
Rejected hunk #1.
Rejected hunk #2.
Rejected hunk #3.
diff a/doc/guides/nics/ionic.rst b/doc/guides/nics/ionic.rst	(rejected hunks)
@@ -32,6 +32,18 @@ The ionic PMD requires firmware which supports 16 segment transmit SGLs.
 This support was added prior to version 1.0. For help upgrading older versions,
 please contact AMD Pensando support.
 
+Runtime Configuration
+---------------------
+
+- ``Queue in CMB support`` (default ``0``)
+
+  Queue memory can be allocated from the Controller Memory Buffer (CMB) using
+  the ``ionic_cmb`` ``devargs`` parameter.
+
+  For example::
+
+    -a 0000:b5:00.0,ionic_cmb=1
+
 Building DPDK
 -------------
 
diff a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst	(rejected hunks)
@@ -168,6 +168,7 @@ New Features
   * Added support for mbuf fast free.
   * Added support for advertising packet types.
   * Added support for descriptor status functions.
+  * Added Q-in-CMB feature controlled by devarg ionic_cmb.
 
 * **Added support for MACsec in rte_security.**
 
diff a/drivers/net/ionic/ionic.h b/drivers/net/ionic/ionic.h	(rejected hunks)
@@ -62,9 +65,11 @@ struct ionic_adapter {
 	uint32_t link_speed;
 	uint32_t nintrs;
 	bool intrs[IONIC_INTR_CTRL_REGS_MAX];
+	bool q_in_cmb;
 	bool link_up;
 	char fw_version[IONIC_DEVINFO_FWVERS_BUFLEN];
 	void *bus_dev;
+	uint64_t cmb_offset;
 };
 
 /** ionic_admin_ctx - Admin command context.
diff a/drivers/net/ionic/ionic_dev.h b/drivers/net/ionic/ionic_dev.h	(rejected hunks)
@@ -176,9 +176,12 @@ struct ionic_adapter;
 struct ionic_qcq;
 struct rte_mempool;
 struct rte_eth_dev;
+struct rte_devargs;
 
 struct ionic_dev_intf {
 	int  (*setup)(struct ionic_adapter *adapter);
+	int  (*devargs)(struct ionic_adapter *adapter,
+			struct rte_devargs *devargs);
 	void (*copy_bus_info)(struct ionic_adapter *adapter,
 			struct rte_eth_dev *eth_dev);
 	int  (*configure_intr)(struct ionic_adapter *adapter);
diff a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_ethdev.c	(rejected hunks)
@@ -1118,6 +1118,15 @@ eth_ionic_dev_probe(void *bus_dev, struct rte_device *rte_dev,
 
 	adapter->intf = intf;
 
+	/* Parse device arguments */
+	if (adapter->intf->devargs) {
+		err = (*adapter->intf->devargs)(adapter, rte_dev->devargs);
+		if (err) {
+			IONIC_PRINT(ERR, "Cannot parse device arguments");
+			goto err_free_adapter;
+		}
+	}
+
 	/* Discover ionic dev resources */
 	err = ionic_setup(adapter);
 	if (err) {
diff a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c	(rejected hunks)
@@ -744,6 +759,8 @@ ionic_rx_qcq_alloc(struct ionic_lif *lif, uint32_t socket_id, uint32_t index,
 	int err;
 
 	flags = IONIC_QCQ_F_SG;
+	if (lif->state & IONIC_LIF_F_Q_IN_CMB)
+		flags |= IONIC_QCQ_F_CMB;
 
 	seg_size = rte_pktmbuf_data_room_size(mb_pool);
 
diff a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c	(rejected hunks)
@@ -600,7 +600,8 @@ ionic_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 	int err;
 
 	struct ionic_txq_desc *desc_base = q->base;
-	rte_prefetch0(&desc_base[q->head_idx]);
+	if (!(txq->flags & IONIC_QCQ_F_CMB))
+		rte_prefetch0(&desc_base[q->head_idx]);
 	rte_prefetch0(IONIC_INFO_PTR(q, q->head_idx));
 
 	if (tx_pkts) {
@@ -619,7 +620,8 @@ ionic_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 
 	while (nb_tx < nb_pkts) {
 		uint16_t next_idx = Q_NEXT_TO_POST(q, 1);
-		rte_prefetch0(&desc_base[next_idx]);
+		if (!(txq->flags & IONIC_QCQ_F_CMB))
+			rte_prefetch0(&desc_base[next_idx]);
 		rte_prefetch0(IONIC_INFO_PTR(q, next_idx));
 
 		if (nb_tx + 1 < nb_pkts) {
@@ -1172,7 +1174,8 @@ ionic_rxq_service(struct ionic_rx_qcq *rxq, uint32_t work_to_do,
 		/* Prefetch 4 x 16B comp */
 		rte_prefetch0(&cq_desc_base[Q_NEXT_TO_SRVC(cq, 4)]);
 		/* Prefetch 4 x 16B descriptors */
-		rte_prefetch0(&q_desc_base[Q_NEXT_TO_POST(q, 4)]);
+		if (!(rxq->flags & IONIC_QCQ_F_CMB))
+			rte_prefetch0(&q_desc_base[Q_NEXT_TO_POST(q, 4)]);
 
 		ionic_rx_clean_one(rxq, cq_desc, rx_svc);
 

https://lab.dpdk.org/results/dashboard/patchsets/23897/

UNH-IOL DPDK Community Lab

                 reply	other threads:[~2022-10-11  3:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20221011033922.7F37D6D509@noxus.dpdklab.iol.unh.edu \
    --to=dpdklab@iol.unh.edu \
    --cc=dpdk-test-reports@iol.unh.edu \
    --cc=test-report@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 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).