* |WARNING| pw110182-110184 [PATCH] [v2, 3/3] net/iavf: improve performance of Rx timestamp offload
@ 2022-04-24 7:29 dpdklab
0 siblings, 0 replies; only message in thread
From: dpdklab @ 2022-04-24 7:29 UTC (permalink / raw)
To: test-report; +Cc: dpdk-test-reports
[-- Attachment #1: Type: text/plain, Size: 7275 bytes --]
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/110182
_apply patch failure_
Submitter: Simei Su <simei.su@intel.com>
Date: Sunday, April 24 2022 07:08:45
Applied on: CommitID:76076342ec8ef108a155938d46a88bb493fae60e
Apply patch set 110182-110184 failed:
Checking patch drivers/common/iavf/virtchnl.h...
Hunk #2 succeeded at 276 (offset -2 lines).
Hunk #3 succeeded at 415 (offset -2 lines).
Hunk #4 succeeded at 502 (offset -2 lines).
Hunk #5 succeeded at 542 (offset -2 lines).
error: while searching for:
VIRTCHNL_CHECK_STRUCT_LEN(12, virtchnl_quanta_cfg);
/* Since VF messages are limited by u16 size, precalculate the maximum possible
* values of nested elements in virtchnl structures that virtual channel can
* possibly handle in a single message.
error: patch failed: drivers/common/iavf/virtchnl.h:2004
Hunk #7 succeeded at 2290 (offset -83 lines).
Applying patch drivers/common/iavf/virtchnl.h with 1 reject...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Rejected hunk #6.
Hunk #7 applied cleanly.
diff a/drivers/common/iavf/virtchnl.h b/drivers/common/iavf/virtchnl.h (rejected hunks)
@@ -2004,6 +2023,39 @@ struct virtchnl_quanta_cfg {
VIRTCHNL_CHECK_STRUCT_LEN(12, virtchnl_quanta_cfg);
+#define VIRTCHNL_1588_PTP_CAP_RX_TSTAMP BIT(1)
+#define VIRTCHNL_1588_PTP_CAP_READ_PHC BIT(2)
+
+struct virtchnl_phc_regs {
+ u32 clock_hi;
+ u32 clock_lo;
+ u8 pcie_region;
+ u8 rsvd[15];
+};
+
+VIRTCHNL_CHECK_STRUCT_LEN(24, virtchnl_phc_regs);
+
+struct virtchnl_ptp_caps {
+ struct virtchnl_phc_regs phc_regs;
+ u32 caps;
+ s32 max_adj;
+ u8 tx_tstamp_idx;
+ u8 n_ext_ts;
+ u8 n_per_out;
+ u8 n_pins;
+ u8 tx_tstamp_format;
+ u8 rsvd[11];
+};
+
+VIRTCHNL_CHECK_STRUCT_LEN(48, virtchnl_ptp_caps);
+
+struct virtchnl_phc_time {
+ u64 time;
+ u8 rsvd[8];
+};
+
+VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_phc_time);
+
/* Since VF messages are limited by u16 size, precalculate the maximum possible
* values of nested elements in virtchnl structures that virtual channel can
* possibly handle in a single message.
Checking patch doc/guides/nics/features/iavf.ini...
Checking patch doc/guides/rel_notes/release_22_07.rst...
error: while searching for:
* Added Tx QoS queue rate limitation support.
* Added quanta size configuration support.
Removed Items
-------------
error: patch failed: doc/guides/rel_notes/release_22_07.rst:59
Checking patch drivers/net/iavf/iavf.h...
Hunk #1 succeeded at 257 (offset -11 lines).
Hunk #2 succeeded at 302 (offset -12 lines).
Hunk #3 succeeded at 463 (offset -16 lines).
Checking patch drivers/net/iavf/iavf_ethdev.c...
error: while searching for:
#define IAVF_PROTO_XTR_ARG "proto_xtr"
#define IAVF_QUANTA_SIZE_ARG "quanta_size"
static const char * const iavf_valid_args[] = {
IAVF_PROTO_XTR_ARG,
IAVF_QUANTA_SIZE_ARG,
error: patch failed: drivers/net/iavf/iavf_ethdev.c:36
Hunk #2 succeeded at 685 (offset -5 lines).
Hunk #3 succeeded at 704 (offset -5 lines).
Hunk #4 succeeded at 958 (offset -5 lines).
Hunk #5 succeeded at 1107 (offset -8 lines).
Checking patch drivers/net/iavf/iavf_rxtx.c...
Hunk #1 succeeded at 1418 (offset -4 lines).
Hunk #2 succeeded at 1492 (offset -4 lines).
Hunk #3 succeeded at 1535 (offset -4 lines).
Hunk #4 succeeded at 1657 (offset -4 lines).
error: while searching for:
int32_t nb_staged = 0;
uint64_t pkt_flags;
const uint32_t *ptype_tbl = rxq->vsi->adapter->ptype_tbl;
rxdp = (volatile union iavf_rx_flex_desc *)&rxq->rx_ring[rxq->rx_tail];
rxep = &rxq->sw_ring[rxq->rx_tail];
error: patch failed: drivers/net/iavf/iavf_rxtx.c:1831
Hunk #6 succeeded at 1873 (offset -9 lines).
error: while searching for:
stat_err0 = rte_le_to_cpu_16(rxdp[j].wb.status_error0);
pkt_flags = iavf_flex_rxd_error_to_pkt_flags(stat_err0);
mb->ol_flags |= pkt_flags;
/* Put up to nb_pkts directly into buffers */
error: patch failed: drivers/net/iavf/iavf_rxtx.c:1897
Checking patch drivers/net/iavf/iavf_rxtx.h...
Checking patch drivers/net/iavf/iavf_rxtx_vec_common.h...
Checking patch drivers/net/iavf/iavf_vchnl.c...
Hunk #3 succeeded at 1811 (offset -54 lines).
Applied patch doc/guides/nics/features/iavf.ini cleanly.
Applying patch doc/guides/rel_notes/release_22_07.rst with 1 reject...
Rejected hunk #1.
Applied patch drivers/net/iavf/iavf.h cleanly.
Applying patch drivers/net/iavf/iavf_ethdev.c with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Applying patch drivers/net/iavf/iavf_rxtx.c with 2 rejects...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Rejected hunk #5.
Hunk #6 applied cleanly.
Rejected hunk #7.
Applied patch drivers/net/iavf/iavf_rxtx.h cleanly.
Applied patch drivers/net/iavf/iavf_rxtx_vec_common.h cleanly.
Applied patch drivers/net/iavf/iavf_vchnl.c cleanly.
diff a/doc/guides/rel_notes/release_22_07.rst b/doc/guides/rel_notes/release_22_07.rst (rejected hunks)
@@ -59,6 +59,7 @@ New Features
* Added Tx QoS queue rate limitation support.
* Added quanta size configuration support.
+ * Added ``DEV_RX_OFFLOAD_TIMESTAMP`` support.
Removed Items
-------------
diff a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c (rejected hunks)
@@ -36,6 +36,9 @@
#define IAVF_PROTO_XTR_ARG "proto_xtr"
#define IAVF_QUANTA_SIZE_ARG "quanta_size"
+uint64_t iavf_timestamp_dynflag;
+int iavf_timestamp_dynfield_offset = -1;
+
static const char * const iavf_valid_args[] = {
IAVF_PROTO_XTR_ARG,
IAVF_QUANTA_SIZE_ARG,
diff a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c (rejected hunks)
@@ -1831,6 +1870,8 @@ iavf_rx_scan_hw_ring_flex_rxd(struct iavf_rx_queue *rxq,
int32_t nb_staged = 0;
uint64_t pkt_flags;
const uint32_t *ptype_tbl = rxq->vsi->adapter->ptype_tbl;
+ struct iavf_adapter *ad = rxq->vsi->adapter;
+ uint64_t ts_ns;
rxdp = (volatile union iavf_rx_flex_desc *)&rxq->rx_ring[rxq->rx_tail];
rxep = &rxq->sw_ring[rxq->rx_tail];
@@ -1897,6 +1941,20 @@ iavf_rx_scan_hw_ring_flex_rxd(struct iavf_rx_queue *rxq,
stat_err0 = rte_le_to_cpu_16(rxdp[j].wb.status_error0);
pkt_flags = iavf_flex_rxd_error_to_pkt_flags(stat_err0);
+ if (iavf_timestamp_dynflag > 0) {
+ if (rxq->hw_register_set)
+ iavf_get_phc_time(ad);
+
+ rxq->hw_register_set = 0;
+ ts_ns = iavf_tstamp_convert_32b_64b(ad->phc_time,
+ rte_le_to_cpu_32(rxdp[j].wb.flex_ts.ts_high));
+
+ *RTE_MBUF_DYNFIELD(mb,
+ iavf_timestamp_dynfield_offset,
+ rte_mbuf_timestamp_t *) = ts_ns;
+ mb->ol_flags |= iavf_timestamp_dynflag;
+ }
+
mb->ol_flags |= pkt_flags;
/* Put up to nb_pkts directly into buffers */
Checking patch drivers/net/iavf/iavf.h...
error: drivers/net/iavf/iavf.h: does not match index
Checking patch drivers/net/iavf/iavf_ethdev.c...
error: drivers/net/iavf/iavf_ethdev.c: does not match index
Checking patch drivers/net/iavf/iavf_rxtx.c...
error: drivers/net/iavf/iavf_rxtx.c: does not match index
Checking patch drivers/net/iavf/iavf_rxtx.h...
error: drivers/net/iavf/iavf_rxtx.h: does not match index
https://lab.dpdk.org/results/dashboard/patchsets/21891/
UNH-IOL DPDK Community Lab
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-04-24 7:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-24 7:29 |WARNING| pw110182-110184 [PATCH] [v2, 3/3] net/iavf: improve performance of Rx timestamp offload 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).