* [PATCH v2] ath10k: add tracing for frame transmission
@ 2014-10-06 17:09 Rajkumar Manoharan
2014-10-07 14:32 ` Kalle Valo
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-06 17:09 UTC (permalink / raw)
To: ath10k; +Cc: linux-wireless, Rajkumar Manoharan
Add tracing support to forward management and data frames to
user space for packet inspection.
Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
---
drivers/net/wireless/ath/ath10k/htt_rx.c | 3 ++
drivers/net/wireless/ath/ath10k/htt_tx.c | 1 +
drivers/net/wireless/ath/ath10k/trace.h | 47 ++++++++++++++++++++++++++++++++
drivers/net/wireless/ath/ath10k/wmi.c | 2 ++
4 files changed, 53 insertions(+)
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
index 7add88e..4dbb2dd 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -291,6 +291,9 @@ static inline struct sk_buff *ath10k_htt_rx_netbuf_pop(struct ath10k_htt *htt)
htt->rx_ring.sw_rd_idx.msdu_payld = idx;
htt->rx_ring.fill_cnt--;
+ trace_ath10k_htt_rx_pop_msdu(ar, msdu->data, msdu->len +
+ skb_tailroom(msdu));
+
return msdu;
}
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c
index fdfb171..b0df470 100644
--- a/drivers/net/wireless/ath/ath10k/htt_tx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_tx.c
@@ -564,6 +564,7 @@ int ath10k_htt_tx(struct ath10k_htt *htt, struct sk_buff *msdu)
(u32)skb_cb->paddr, vdev_id, tid);
ath10k_dbg_dump(ar, ATH10K_DBG_HTT_DUMP, NULL, "htt tx msdu: ",
msdu->data, msdu->len);
+ trace_ath10k_htt_tx_msdu(ar, msdu->data, msdu->len);
sg_items[0].transfer_id = 0;
sg_items[0].transfer_context = NULL;
diff --git a/drivers/net/wireless/ath/ath10k/trace.h b/drivers/net/wireless/ath/ath10k/trace.h
index 33b9bf4..9d34e7f 100644
--- a/drivers/net/wireless/ath/ath10k/trace.h
+++ b/drivers/net/wireless/ath/ath10k/trace.h
@@ -370,6 +370,53 @@ TRACE_EVENT(ath10k_txrx_tx_unref,
__entry->msdu_id
)
);
+
+DECLARE_EVENT_CLASS(ath10k_data_event,
+ TP_PROTO(struct ath10k *ar, void *data, size_t len),
+
+ TP_ARGS(ar, data, len),
+
+ TP_STRUCT__entry(
+ __string(device, dev_name(ar->dev))
+ __string(driver, dev_driver_string(ar->dev))
+ __field(size_t, len)
+ __dynamic_array(u8, data, len)
+ ),
+
+ TP_fast_assign(
+ __assign_str(device, dev_name(ar->dev));
+ __assign_str(driver, dev_driver_string(ar->dev));
+ __entry->len = len;
+ memcpy(__get_dynamic_array(data), data, len);
+ ),
+
+ TP_printk(
+ "%s %s len %zu\n",
+ __get_str(driver),
+ __get_str(device),
+ __entry->len
+ )
+);
+
+DEFINE_EVENT(ath10k_data_event, ath10k_htt_tx_msdu,
+ TP_PROTO(struct ath10k *ar, void *data, size_t len),
+ TP_ARGS(ar, data, len)
+);
+
+DEFINE_EVENT(ath10k_data_event, ath10k_htt_rx_pop_msdu,
+ TP_PROTO(struct ath10k *ar, void *data, size_t len),
+ TP_ARGS(ar, data, len)
+);
+
+DEFINE_EVENT(ath10k_data_event, ath10k_wmi_mgmt_tx,
+ TP_PROTO(struct ath10k *ar, void *data, size_t len),
+ TP_ARGS(ar, data, len)
+);
+
+DEFINE_EVENT(ath10k_data_event, ath10k_wmi_bcn_tx,
+ TP_PROTO(struct ath10k *ar, void *data, size_t len),
+ TP_ARGS(ar, data, len)
+);
#endif /* _TRACE_H_ || TRACE_HEADER_MULTI_READ*/
/* we don't want to use include/trace/events */
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index c145b98..54042bf 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -834,6 +834,7 @@ int ath10k_wmi_mgmt_tx(struct ath10k *ar, struct sk_buff *skb)
ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi mgmt tx skb %p len %d ftype %02x stype %02x\n",
wmi_skb, wmi_skb->len, fc & IEEE80211_FCTL_FTYPE,
fc & IEEE80211_FCTL_STYPE);
+ trace_ath10k_wmi_mgmt_tx(ar, skb->data, skb->len);
/* Send the management frame buffer to the target */
ret = ath10k_wmi_cmd_send(ar, wmi_skb, ar->wmi.cmd->mgmt_tx_cmdid);
@@ -1892,6 +1893,7 @@ static void ath10k_wmi_event_host_swba(struct ath10k *ar, struct sk_buff *skb)
arvif->beacon = bcn;
arvif->beacon_sent = false;
+ trace_ath10k_wmi_bcn_tx(ar, bcn->data, bcn->len);
ath10k_wmi_tx_beacon_nowait(arvif);
skip:
spin_unlock_bh(&ar->data_lock);
--
2.1.2
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v2] ath10k: add tracing for frame transmission
2014-10-06 17:09 [PATCH v2] ath10k: add tracing for frame transmission Rajkumar Manoharan
@ 2014-10-07 14:32 ` Kalle Valo
2014-10-08 2:59 ` Rajkumar Manoharan
2014-10-07 16:19 ` Kalle Valo
2014-10-08 10:27 ` Kalle Valo
2 siblings, 1 reply; 7+ messages in thread
From: Kalle Valo @ 2014-10-07 14:32 UTC (permalink / raw)
To: Rajkumar Manoharan; +Cc: ath10k, linux-wireless
Rajkumar Manoharan <rmanohar@qti.qualcomm.com> writes:
> Add tracing support to forward management and data frames to
> user space for packet inspection.
>
> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
My assumption is that this patch superseded the patches below. Please
let me know if I have misunderstood.
! [ 27: Rajkumar Manoharan ] [PATCH 0/4] ath10k: Add tracing for tx and rx frames
! [ 70: Rajkumar Manoharan ] [PATCH 1/4] ath10k: add tracepoint for wmi mgmt tx frames
! [ 68: Rajkumar Manoharan ] [PATCH 2/4] ath10k: add tracepoint for wmi bcn tx
! [ 72: Rajkumar Manoharan ] [PATCH 3/4] ath10k: add htt rx tracepoints
! [ 80: Rajkumar Manoharan ] [PATCH 4/4] ath10k: add tracepoint for htt tx frames
! [ 80: Rajkumar Manoharan ] [PATCH 1/2] ath10k: add tracepoint for htt tx frames
! [ 105: Rajkumar Manoharan ] [PATCH 2/2] ath10k: add tracing for frame transmission
For the future: it's a lot easier if you add a cover letter for the
patch series, keep the cover letter title unchanged and just increase
the version number after each revision. That way I can immeaditely see
what patches I should take or ignore.
--
Kalle Valo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ath10k: add tracing for frame transmission
2014-10-07 14:32 ` Kalle Valo
@ 2014-10-08 2:59 ` Rajkumar Manoharan
0 siblings, 0 replies; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-08 2:59 UTC (permalink / raw)
To: Kalle Valo; +Cc: ath10k, linux-wireless
On Tue, Oct 07, 2014 at 05:32:30PM +0300, Kalle Valo wrote:
> Rajkumar Manoharan <rmanohar@qti.qualcomm.com> writes:
>
> > Add tracing support to forward management and data frames to
> > user space for packet inspection.
> >
> > Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
>
> ! [ 80: Rajkumar Manoharan ] [PATCH 1/2] ath10k: add tracepoint for htt tx frames
> ! [ 105: Rajkumar Manoharan ] [PATCH 2/2] ath10k: add tracing for frame transmission
>
> For the future: it's a lot easier if you add a cover letter for the
> patch series, keep the cover letter title unchanged and just increase
> the version number after each revision. That way I can immeaditely see
> what patches I should take or ignore.
>
I replied to series to ignore the patchset. Sorry if the message is not
clear. In next version, I combined both patches.
-Rajkumar
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ath10k: add tracing for frame transmission
2014-10-06 17:09 [PATCH v2] ath10k: add tracing for frame transmission Rajkumar Manoharan
2014-10-07 14:32 ` Kalle Valo
@ 2014-10-07 16:19 ` Kalle Valo
2014-10-08 3:13 ` Rajkumar Manoharan
2014-10-08 10:27 ` Kalle Valo
2 siblings, 1 reply; 7+ messages in thread
From: Kalle Valo @ 2014-10-07 16:19 UTC (permalink / raw)
To: Rajkumar Manoharan; +Cc: ath10k, linux-wireless
Rajkumar Manoharan <rmanohar@qti.qualcomm.com> writes:
> Add tracing support to forward management and data frames to
> user space for packet inspection.
>
> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
[...]
> --- a/drivers/net/wireless/ath/ath10k/htt_rx.c
> +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
> @@ -291,6 +291,9 @@ static inline struct sk_buff *ath10k_htt_rx_netbuf_pop(struct ath10k_htt *htt)
> htt->rx_ring.sw_rd_idx.msdu_payld = idx;
> htt->rx_ring.fill_cnt--;
>
> + trace_ath10k_htt_rx_pop_msdu(ar, msdu->data, msdu->len +
> + skb_tailroom(msdu));
Why add skb_tailroom() to the length? I think that deserves a comment.
--
Kalle Valo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ath10k: add tracing for frame transmission
2014-10-07 16:19 ` Kalle Valo
@ 2014-10-08 3:13 ` Rajkumar Manoharan
2014-10-08 10:19 ` Kalle Valo
0 siblings, 1 reply; 7+ messages in thread
From: Rajkumar Manoharan @ 2014-10-08 3:13 UTC (permalink / raw)
To: Kalle Valo; +Cc: ath10k, linux-wireless
On Tue, Oct 07, 2014 at 07:19:05PM +0300, Kalle Valo wrote:
> Rajkumar Manoharan <rmanohar@qti.qualcomm.com> writes:
>
> > Add tracing support to forward management and data frames to
> > user space for packet inspection.
> >
> > Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
>
> [...]
>
> > --- a/drivers/net/wireless/ath/ath10k/htt_rx.c
> > +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
> > @@ -291,6 +291,9 @@ static inline struct sk_buff *ath10k_htt_rx_netbuf_pop(struct ath10k_htt *htt)
> > htt->rx_ring.sw_rd_idx.msdu_payld = idx;
> > htt->rx_ring.fill_cnt--;
> >
> > + trace_ath10k_htt_rx_pop_msdu(ar, msdu->data, msdu->len +
> > + skb_tailroom(msdu));
>
> Why add skb_tailroom() to the length? I think that deserves a comment.
>
It is used for rx crypto length. skb_tailroom is used in most of the
places even while dumping rx pkt by ath10k_dbg_dump.
-Rajkumar
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ath10k: add tracing for frame transmission
2014-10-08 3:13 ` Rajkumar Manoharan
@ 2014-10-08 10:19 ` Kalle Valo
0 siblings, 0 replies; 7+ messages in thread
From: Kalle Valo @ 2014-10-08 10:19 UTC (permalink / raw)
To: Rajkumar Manoharan; +Cc: linux-wireless, ath10k
Rajkumar Manoharan <rmanohar@qti.qualcomm.com> writes:
>> > + trace_ath10k_htt_rx_pop_msdu(ar, msdu->data, msdu->len +
>> > + skb_tailroom(msdu));
>>
>> Why add skb_tailroom() to the length? I think that deserves a comment.
>
> It is used for rx crypto length. skb_tailroom is used in most of the
> places even while dumping rx pkt by ath10k_dbg_dump.
Ok, thanks for clarifying that.
--
Kalle Valo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ath10k: add tracing for frame transmission
2014-10-06 17:09 [PATCH v2] ath10k: add tracing for frame transmission Rajkumar Manoharan
2014-10-07 14:32 ` Kalle Valo
2014-10-07 16:19 ` Kalle Valo
@ 2014-10-08 10:27 ` Kalle Valo
2 siblings, 0 replies; 7+ messages in thread
From: Kalle Valo @ 2014-10-08 10:27 UTC (permalink / raw)
To: Rajkumar Manoharan; +Cc: ath10k, linux-wireless
Rajkumar Manoharan <rmanohar@qti.qualcomm.com> writes:
> Add tracing support to forward management and data frames to
> user space for packet inspection.
>
> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Thanks, applied.
--
Kalle Valo
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-10-08 10:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-06 17:09 [PATCH v2] ath10k: add tracing for frame transmission Rajkumar Manoharan
2014-10-07 14:32 ` Kalle Valo
2014-10-08 2:59 ` Rajkumar Manoharan
2014-10-07 16:19 ` Kalle Valo
2014-10-08 3:13 ` Rajkumar Manoharan
2014-10-08 10:19 ` Kalle Valo
2014-10-08 10:27 ` Kalle Valo
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).