Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint
@ 2022-10-07 17:57 Joe Damato
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 1/4] i40e: Store the irq number in i40e_q_vector Joe Damato
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Joe Damato @ 2022-10-07 17:57 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: Joe Damato

Greetings:

This is an RFC which is similar to the series up for review, except that
this implementation does not touch XDP at all and adds a conditional in
i40e_napi_poll to only fire the tracepoint when XDP is not enabled.

This should avoid the issues that Maciej has with the naming of out
parameters (since none of that code is touched in this series) and it
clears the way for Maciej, Sridhar, et al to implement the XDP tracepoint.

I am submitting this an alternative to what's already up for review.

If you prefer to accept this code, please let me know that you want the
non-XDP version and I'll submit it as the 'v4'.

Thanks,
Joe


Joe Damato (4):
  i40e: Store the irq number in i40e_q_vector
  i40e: Record number TXes cleaned during NAPI
  i40e: Record number of RXes cleaned during NAPI
  i40e: Add i40e_napi_poll tracepoint

 drivers/net/ethernet/intel/i40e/i40e.h       |  1 +
 drivers/net/ethernet/intel/i40e/i40e_main.c  |  1 +
 drivers/net/ethernet/intel/i40e/i40e_trace.h | 49 ++++++++++++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_txrx.c  | 27 +++++++++++----
 4 files changed, 72 insertions(+), 6 deletions(-)

-- 
2.7.4

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Intel-wired-lan] [RFC, next-queue 1/4] i40e: Store the irq number in i40e_q_vector
  2022-10-07 17:57 [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint Joe Damato
@ 2022-10-07 17:57 ` Joe Damato
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 2/4] i40e: Record number TXes cleaned during NAPI Joe Damato
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Joe Damato @ 2022-10-07 17:57 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: Joe Damato

Make it easy to figure out the IRQ number for a particular i40e_q_vector by
storing the assigned IRQ in the structure itself.

Signed-off-by: Joe Damato <jdamato@fastly.com>
---
 drivers/net/ethernet/intel/i40e/i40e.h      | 1 +
 drivers/net/ethernet/intel/i40e/i40e_main.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 9926c4e..8e1f395 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -992,6 +992,7 @@ struct i40e_q_vector {
 	struct rcu_head rcu;	/* to avoid race with update stats on free */
 	char name[I40E_INT_NAME_STR_LEN];
 	bool arm_wb_state;
+	int irq_num;		/* IRQ assigned to this q_vector */
 } ____cacheline_internodealigned_in_smp;
 
 /* lan device */
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 6b7535a..6efe130 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -4123,6 +4123,7 @@ static int i40e_vsi_request_irq_msix(struct i40e_vsi *vsi, char *basename)
 		}
 
 		/* register for affinity change notifications */
+		q_vector->irq_num = irq_num;
 		q_vector->affinity_notify.notify = i40e_irq_affinity_notify;
 		q_vector->affinity_notify.release = i40e_irq_affinity_release;
 		irq_set_affinity_notifier(irq_num, &q_vector->affinity_notify);
-- 
2.7.4

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Intel-wired-lan] [RFC, next-queue 2/4] i40e: Record number TXes cleaned during NAPI
  2022-10-07 17:57 [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint Joe Damato
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 1/4] i40e: Store the irq number in i40e_q_vector Joe Damato
@ 2022-10-07 17:57 ` Joe Damato
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 3/4] i40e: Record number of RXes " Joe Damato
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Joe Damato @ 2022-10-07 17:57 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: Joe Damato

Update i40e_clean_tx_irq to take an out parameter (tx_cleaned) which stores
the number TXs cleaned.

No XDP related TX code is touched. Care has been taken to avoid changing
the control flow of i40e_clean_tx_irq and i40e_napi_poll.

Signed-off-by: Joe Damato <jdamato@fastly.com>
---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index b97c95f..274de1c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -923,11 +923,13 @@ void i40e_detect_recover_hung(struct i40e_vsi *vsi)
  * @vsi: the VSI we care about
  * @tx_ring: Tx ring to clean
  * @napi_budget: Used to determine if we are in netpoll
+ * @tx_cleaned: Out parameter set to the number of TXes cleaned
  *
  * Returns true if there's any budget left (e.g. the clean is finished)
  **/
 static bool i40e_clean_tx_irq(struct i40e_vsi *vsi,
-			      struct i40e_ring *tx_ring, int napi_budget)
+			      struct i40e_ring *tx_ring, int napi_budget,
+			      unsigned int *tx_cleaned)
 {
 	int i = tx_ring->next_to_clean;
 	struct i40e_tx_buffer *tx_buf;
@@ -1048,6 +1050,7 @@ static bool i40e_clean_tx_irq(struct i40e_vsi *vsi,
 		}
 	}
 
+	*tx_cleaned = total_packets;
 	return !!budget;
 }
 
@@ -2689,10 +2692,12 @@ int i40e_napi_poll(struct napi_struct *napi, int budget)
 			       container_of(napi, struct i40e_q_vector, napi);
 	struct i40e_vsi *vsi = q_vector->vsi;
 	struct i40e_ring *ring;
+	bool tx_clean_complete = true;
 	bool clean_complete = true;
 	bool arm_wb = false;
 	int budget_per_ring;
 	int work_done = 0;
+	unsigned int tx_cleaned = 0;
 
 	if (test_bit(__I40E_VSI_DOWN, vsi->state)) {
 		napi_complete(napi);
@@ -2705,10 +2710,10 @@ int i40e_napi_poll(struct napi_struct *napi, int budget)
 	i40e_for_each_ring(ring, q_vector->tx) {
 		bool wd = ring->xsk_pool ?
 			  i40e_clean_xdp_tx_irq(vsi, ring) :
-			  i40e_clean_tx_irq(vsi, ring, budget);
+			  i40e_clean_tx_irq(vsi, ring, budget, &tx_cleaned);
 
 		if (!wd) {
-			clean_complete = false;
+			clean_complete = tx_clean_complete = false;
 			continue;
 		}
 		arm_wb |= ring->arm_wb;
-- 
2.7.4

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Intel-wired-lan] [RFC, next-queue 3/4] i40e: Record number of RXes cleaned during NAPI
  2022-10-07 17:57 [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint Joe Damato
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 1/4] i40e: Store the irq number in i40e_q_vector Joe Damato
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 2/4] i40e: Record number TXes cleaned during NAPI Joe Damato
@ 2022-10-07 17:57 ` Joe Damato
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 4/4] i40e: Add i40e_napi_poll tracepoint Joe Damato
  2022-10-07 20:36 ` [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP " Jesse Brandeburg
  4 siblings, 0 replies; 8+ messages in thread
From: Joe Damato @ 2022-10-07 17:57 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: Joe Damato

Adjust i40e_clean_rx_irq to accept an out parameter which records the number of
RX packets cleaned.

No XDP related code is modified and care has been taken to avoid changing
control flow.

Signed-off-by: Joe Damato <jdamato@fastly.com>
---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index 274de1c..5901e58 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -2425,6 +2425,7 @@ static void i40e_inc_ntc(struct i40e_ring *rx_ring)
  * i40e_clean_rx_irq - Clean completed descriptors from Rx ring - bounce buf
  * @rx_ring: rx descriptor ring to transact packets on
  * @budget: Total limit on number of packets to process
+ * @rx_cleaned: Out parameter of the number of packets processed
  *
  * This function provides a "bounce buffer" approach to Rx interrupt
  * processing.  The advantage to this is that on systems that have
@@ -2433,7 +2434,8 @@ static void i40e_inc_ntc(struct i40e_ring *rx_ring)
  *
  * Returns amount of work completed
  **/
-static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget)
+static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget,
+			     unsigned int *rx_cleaned)
 {
 	unsigned int total_rx_bytes = 0, total_rx_packets = 0, frame_sz = 0;
 	u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
@@ -2570,6 +2572,8 @@ static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget)
 
 	i40e_update_rx_stats(rx_ring, total_rx_bytes, total_rx_packets);
 
+	*rx_cleaned = total_rx_packets;
+
 	/* guarantee a trip back through this routine if there was a failure */
 	return failure ? budget : (int)total_rx_packets;
 }
@@ -2693,11 +2697,13 @@ int i40e_napi_poll(struct napi_struct *napi, int budget)
 	struct i40e_vsi *vsi = q_vector->vsi;
 	struct i40e_ring *ring;
 	bool tx_clean_complete = true;
+	bool rx_clean_complete = true;
 	bool clean_complete = true;
 	bool arm_wb = false;
 	int budget_per_ring;
 	int work_done = 0;
 	unsigned int tx_cleaned = 0;
+	unsigned int rx_cleaned = 0;
 
 	if (test_bit(__I40E_VSI_DOWN, vsi->state)) {
 		napi_complete(napi);
@@ -2738,12 +2744,12 @@ int i40e_napi_poll(struct napi_struct *napi, int budget)
 	i40e_for_each_ring(ring, q_vector->rx) {
 		int cleaned = ring->xsk_pool ?
 			      i40e_clean_rx_irq_zc(ring, budget_per_ring) :
-			      i40e_clean_rx_irq(ring, budget_per_ring);
+			      i40e_clean_rx_irq(ring, budget_per_ring, &rx_cleaned);
 
 		work_done += cleaned;
 		/* if we clean as many as budgeted, we must not be done */
 		if (cleaned >= budget_per_ring)
-			clean_complete = false;
+			clean_complete = rx_clean_complete = false;
 	}
 
 	/* If work not completed, return budget and polling will return */
-- 
2.7.4

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Intel-wired-lan] [RFC, next-queue 4/4] i40e: Add i40e_napi_poll tracepoint
  2022-10-07 17:57 [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint Joe Damato
                   ` (2 preceding siblings ...)
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 3/4] i40e: Record number of RXes " Joe Damato
@ 2022-10-07 17:57 ` Joe Damato
  2022-10-07 20:36 ` [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP " Jesse Brandeburg
  4 siblings, 0 replies; 8+ messages in thread
From: Joe Damato @ 2022-10-07 17:57 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: Joe Damato

Add a tracepoint for i40e_napi_poll that allows users to get detailed
information about the amount of work done. This information can help users
better tune the correct NAPI parameters (like weight and budget), as well
as debug NIC settings like rx-usecs and tx-usecs, etc.

When perf is attached, this tracepoint only fires when not in XDP mode.

An example of the output from this tracepoint:

$ sudo perf trace -e i40e:i40e_napi_poll -a --call-graph=fp --libtraceevent_print

[..snip..]

388.258 :0/0 i40e:i40e_napi_poll(i40e_napi_poll on dev eth2 q i40e-eth2-TxRx-9 irq 346 irq_mask 00000000,00000000,00000000,00000000,00000000,00800000 curr_cpu 23 budget 64 bpr 64 rx_cleaned 28 tx_cleaned 0 rx_clean_complete 1 tx_clean_complete 1)
	i40e_napi_poll ([i40e])
	i40e_napi_poll ([i40e])
	__napi_poll ([kernel.kallsyms])
	net_rx_action ([kernel.kallsyms])
	__do_softirq ([kernel.kallsyms])
	common_interrupt ([kernel.kallsyms])
	asm_common_interrupt ([kernel.kallsyms])
	intel_idle_irq ([kernel.kallsyms])
	cpuidle_enter_state ([kernel.kallsyms])
	cpuidle_enter ([kernel.kallsyms])
	do_idle ([kernel.kallsyms])
	cpu_startup_entry ([kernel.kallsyms])
	[0x243fd8] ([kernel.kallsyms])
	secondary_startup_64_no_verify ([kernel.kallsyms])

Signed-off-by: Joe Damato <jdamato@fastly.com>
---
 drivers/net/ethernet/intel/i40e/i40e_trace.h | 49 ++++++++++++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_txrx.c  |  4 +++
 2 files changed, 53 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_trace.h b/drivers/net/ethernet/intel/i40e/i40e_trace.h
index b5b1229..7d7c161 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_trace.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_trace.h
@@ -55,6 +55,55 @@
  * being built from shared code.
  */
 
+#define NO_DEV "(i40e no_device)"
+
+TRACE_EVENT(i40e_napi_poll,
+
+	TP_PROTO(struct napi_struct *napi, struct i40e_q_vector *q, int budget,
+		 int budget_per_ring, unsigned int rx_cleaned, unsigned int tx_cleaned,
+		 bool rx_clean_complete, bool tx_clean_complete),
+
+	TP_ARGS(napi, q, budget, budget_per_ring, rx_cleaned, tx_cleaned,
+		rx_clean_complete, tx_clean_complete),
+
+	TP_STRUCT__entry(
+		__field(int, budget)
+		__field(int, budget_per_ring)
+		__field(unsigned int, rx_cleaned)
+		__field(unsigned int, tx_cleaned)
+		__field(int, rx_clean_complete)
+		__field(int, tx_clean_complete)
+		__field(int, irq_num)
+		__field(int, curr_cpu)
+		__string(qname, q->name)
+		__string(dev_name, napi->dev ? napi->dev->name : NO_DEV)
+		__bitmask(irq_affinity,	nr_cpumask_bits)
+	),
+
+	TP_fast_assign(
+		__entry->budget = budget;
+		__entry->budget_per_ring = budget_per_ring;
+		__entry->rx_cleaned = rx_cleaned;
+		__entry->tx_cleaned = tx_cleaned;
+		__entry->rx_clean_complete = rx_clean_complete;
+		__entry->tx_clean_complete = tx_clean_complete;
+		__entry->irq_num = q->irq_num;
+		__entry->curr_cpu = get_cpu();
+		__assign_str(qname, q->name);
+		__assign_str(dev_name, napi->dev ? napi->dev->name : NO_DEV);
+		__assign_bitmask(irq_affinity, cpumask_bits(&q->affinity_mask),
+				 nr_cpumask_bits);
+	),
+
+	TP_printk("i40e_napi_poll on dev %s q %s irq %d irq_mask %s curr_cpu %d "
+		  "budget %d bpr %d rx_cleaned %lu tx_cleaned %lu "
+		  "rx_clean_complete %d tx_clean_complete %d",
+		__get_str(dev_name), __get_str(qname), __entry->irq_num,
+		__get_bitmask(irq_affinity), __entry->curr_cpu, __entry->budget,
+		__entry->budget_per_ring, __entry->rx_cleaned, __entry->tx_cleaned,
+		__entry->rx_clean_complete, __entry->tx_clean_complete)
+);
+
 /* Events related to a vsi & ring */
 DECLARE_EVENT_CLASS(
 	i40e_tx_template,
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index 5901e58..f2b1b94 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -2752,6 +2752,10 @@ int i40e_napi_poll(struct napi_struct *napi, int budget)
 			clean_complete = rx_clean_complete = false;
 	}
 
+	if (!i40e_enabled_xdp_vsi(vsi))
+		trace_i40e_napi_poll(napi, q_vector, budget, budget_per_ring, rx_cleaned,
+				     tx_cleaned, rx_clean_complete, tx_clean_complete);
+
 	/* If work not completed, return budget and polling will return */
 	if (!clean_complete) {
 		int cpu_id = smp_processor_id();
-- 
2.7.4

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint
  2022-10-07 17:57 [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint Joe Damato
                   ` (3 preceding siblings ...)
  2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 4/4] i40e: Add i40e_napi_poll tracepoint Joe Damato
@ 2022-10-07 20:36 ` Jesse Brandeburg
  2022-10-07 20:55   ` Joe Damato
  4 siblings, 1 reply; 8+ messages in thread
From: Jesse Brandeburg @ 2022-10-07 20:36 UTC (permalink / raw)
  To: Joe Damato, intel-wired-lan

On 10/7/2022 10:57 AM, Joe Damato wrote:
> Greetings:
> 
> This is an RFC which is similar to the series up for review, except that
> this implementation does not touch XDP at all and adds a conditional in
> i40e_napi_poll to only fire the tracepoint when XDP is not enabled.
> 
> This should avoid the issues that Maciej has with the naming of out
> parameters (since none of that code is touched in this series) and it
> clears the way for Maciej, Sridhar, et al to implement the XDP tracepoint.
> 
> I am submitting this an alternative to what's already up for review.
> 
> If you prefer to accept this code, please let me know that you want the
> non-XDP version and I'll submit it as the 'v4'.

Given the discussion, this is the series I prefer. I'm very happy to see 
some more debugging helpers coming into the driver so thanks for your 
work on this Joe! As for the rest of the team they seem to be fine 
speaking for themselves, so I imagine they'll let you know :-)

For the series:
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>

Best regards,
Jesse

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint
  2022-10-07 20:36 ` [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP " Jesse Brandeburg
@ 2022-10-07 20:55   ` Joe Damato
  2022-10-07 21:01     ` Samudrala, Sridhar
  0 siblings, 1 reply; 8+ messages in thread
From: Joe Damato @ 2022-10-07 20:55 UTC (permalink / raw)
  To: Jesse Brandeburg; +Cc: intel-wired-lan

On Fri, Oct 07, 2022 at 01:36:20PM -0700, Jesse Brandeburg wrote:
> On 10/7/2022 10:57 AM, Joe Damato wrote:
> >Greetings:
> >
> >This is an RFC which is similar to the series up for review, except that
> >this implementation does not touch XDP at all and adds a conditional in
> >i40e_napi_poll to only fire the tracepoint when XDP is not enabled.
> >
> >This should avoid the issues that Maciej has with the naming of out
> >parameters (since none of that code is touched in this series) and it
> >clears the way for Maciej, Sridhar, et al to implement the XDP tracepoint.
> >
> >I am submitting this an alternative to what's already up for review.
> >
> >If you prefer to accept this code, please let me know that you want the
> >non-XDP version and I'll submit it as the 'v4'.
> 
> Given the discussion, this is the series I prefer. I'm very happy to see
> some more debugging helpers coming into the driver so thanks for your work
> on this Joe! As for the rest of the team they seem to be fine speaking for
> themselves, so I imagine they'll let you know :-)
> 
> For the series:
> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>

OK, thanks!

There's a minor build failure for a format string (lu should be u) in the
tracepoint.

I'll fix that now in this series and re-send it as a v4 with a proper
cover letter.

Thanks again for your detailed feedback and review; I appreciate your time
and energy on this.

Thanks,
Joe
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint
  2022-10-07 20:55   ` Joe Damato
@ 2022-10-07 21:01     ` Samudrala, Sridhar
  0 siblings, 0 replies; 8+ messages in thread
From: Samudrala, Sridhar @ 2022-10-07 21:01 UTC (permalink / raw)
  To: Joe Damato, Jesse Brandeburg; +Cc: intel-wired-lan

On 10/7/2022 3:55 PM, Joe Damato wrote:
> On Fri, Oct 07, 2022 at 01:36:20PM -0700, Jesse Brandeburg wrote:
>> On 10/7/2022 10:57 AM, Joe Damato wrote:
>>> Greetings:
>>>
>>> This is an RFC which is similar to the series up for review, except that
>>> this implementation does not touch XDP at all and adds a conditional in
>>> i40e_napi_poll to only fire the tracepoint when XDP is not enabled.
>>>
>>> This should avoid the issues that Maciej has with the naming of out
>>> parameters (since none of that code is touched in this series) and it
>>> clears the way for Maciej, Sridhar, et al to implement the XDP tracepoint.
>>>
>>> I am submitting this an alternative to what's already up for review.
>>>
>>> If you prefer to accept this code, please let me know that you want the
>>> non-XDP version and I'll submit it as the 'v4'.
>> Given the discussion, this is the series I prefer. I'm very happy to see
>> some more debugging helpers coming into the driver so thanks for your work
>> on this Joe! As for the rest of the team they seem to be fine speaking for
>> themselves, so I imagine they'll let you know :-)
>>
>> For the series:
>> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> OK, thanks!
>
> There's a minor build failure for a format string (lu should be u) in the
> tracepoint.
>
> I'll fix that now in this series and re-send it as a v4 with a proper
> cover letter.
>
> Thanks again for your detailed feedback and review; I appreciate your time
> and energy on this.
>
> Thanks,
> Joe

Sorry for all the back and forth on this series. The tracepoint itself is definitely
useful and this series looks good.
   Acked-by: Sridhar Samudrala <sridhar.samudrala@intel.com>

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-10-07 21:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-07 17:57 [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP i40e_napi_poll tracepoint Joe Damato
2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 1/4] i40e: Store the irq number in i40e_q_vector Joe Damato
2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 2/4] i40e: Record number TXes cleaned during NAPI Joe Damato
2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 3/4] i40e: Record number of RXes " Joe Damato
2022-10-07 17:57 ` [Intel-wired-lan] [RFC, next-queue 4/4] i40e: Add i40e_napi_poll tracepoint Joe Damato
2022-10-07 20:36 ` [Intel-wired-lan] [RFC, next-queue 0/4] i40e: Add a non-XDP " Jesse Brandeburg
2022-10-07 20:55   ` Joe Damato
2022-10-07 21:01     ` Samudrala, Sridhar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox