Skip to contentSkip to conversation

mac80211: add debugfs file for last rx rate

PATCH Applied Saravana 3 participants 6 messages Nov 29, 2012 – Dec 3, 2012 mac80211

lore
Share & tools
lore

Saravana

author
#0 lore raw

PATCH 1/1 mac80211: add debugfs file for last rx rate

Add a debugfs file showing the rate at which
the last packet is received.

---
 net/mac80211/debugfs_sta.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
net/mac80211/debugfs_sta.c +17 -0
index 1090c24..3173fed 100644
@@ -336,6 +336,22 @@ static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf,
 }
 STA_OPS(current_tx_rate);
 
+static ssize_t sta_last_rx_rate_read(struct file *file, char __user *userbuf,
+				      size_t count, loff_t *ppos)
+{
+	struct sta_info *sta = file->private_data;
+	struct rate_info rinfo;
+	u16 rate;
+
+	sta_set_rate_info_rx(sta, &rinfo);
+
+	rate = cfg80211_calculate_bitrate(&rinfo);
+
+	return mac80211_format_buffer(userbuf, count, ppos, "%d.%d MBit/s\n",
+					rate/10, rate%10);
+}
+STA_OPS(last_rx_rate);
+
 #define DEBUGFS_ADD(name) \
 	debugfs_create_file(#name, 0400, \
 		sta->debugfs.dir, sta, &sta_ ##name## _ops);
@@ -386,6 +402,7 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta)
 	DEBUGFS_ADD(ht_capa);
 	DEBUGFS_ADD(last_ack_signal);
 	DEBUGFS_ADD(current_tx_rate);
+	DEBUGFS_ADD(last_rx_rate);
 
 	DEBUGFS_ADD_COUNTER(rx_packets, rx_packets);
 	DEBUGFS_ADD_COUNTER(tx_packets, tx_packets);
maintainer Applied
#1 lore raw
Quoted 2 lines · Saravana

Add a debugfs file showing the rate at which
the last packet is received.

Applied, but:

net/mac80211/debugfs_sta.c static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf, · line 340

Quoted 2 lines
net/mac80211/debugfs_sta.c +2 -0
+static ssize_t sta_last_rx_rate_read(struct file *file, char __user *userbuf,
+				      size_t count, loff_t *ppos)

fixed indentation here

net/mac80211/debugfs_sta.c static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf, · line 351

Quoted 2 lines
net/mac80211/debugfs_sta.c +2 -0
+	return mac80211_format_buffer(userbuf, count, ppos, "%d.%d MBit/s\n",
+					rate/10, rate%10);

and here

(and also a bunch of whitespace changes in the other patches)

johannes

author
#2 lore raw
Quoted 12 lines · Johannes Berg
Quoted 2 lines · Saravana

Add a debugfs file showing the rate at which
the last packet is received.

Applied, but:

net/mac80211/debugfs_sta.c static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf, · line 340

Quoted 2 lines
net/mac80211/debugfs_sta.c +2 -0
+static ssize_t sta_last_rx_rate_read(struct file *file, char __user *userbuf,
+				      size_t count, loff_t *ppos)

fixed indentation here

Quoted 7 lines

net/mac80211/debugfs_sta.c static ssize_t sta_current_tx_rate_read(struct file *file, char __user *userbuf, · line 351

Quoted 2 lines
net/mac80211/debugfs_sta.c +2 -0
+	return mac80211_format_buffer(userbuf, count, ppos, "%d.%d MBit/s\n",
+					rate/10, rate%10);

and here

(and also a bunch of whitespace changes in the other patches)

Thanks Johannes for taking care of modifications. Will take care of indentation and the whitespace issues in future.

Quoted 3 lines

johannes

author
#4 lore raw
Quoted 8 lines · Felix Fietkau
Quoted 4 lines · Saravana

Add a debugfs file showing the rate at which
the last packet is received.

What's the point of adding debugfs files for data which is already available via nl80211?

The debugfs is a repository of statistics. Many of the statistics like tx/rx bytes/packets, retries, signal,power etc which are available via nl80211(iw) are already available in debugfs. For the sake of completeness and to maintain uniformity the last rx rate is added to debugfs.

Quoted 2 lines

- Felix

#5 lore raw
Quoted 5 lines · Saravana
Quoted 4 lines · Felix Fietkau
Quoted 3 lines · Saravana

Add a debugfs file showing the rate at which
the last packet is received.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

What's the point of adding debugfs files for data which is already available via nl80211?

The debugfs is a repository of statistics. Many of the statistics like tx/rx bytes/packets, retries, signal,power etc which are available via nl80211(iw) are already available in debugfs. For the sake of completeness and to maintain uniformity the last rx rate is added to debugfs.

I think debugfs does not have (or need) completeness and uniformity, nor is it meant as a repository of statistics. It is to be used for various debugging purposes (as the name implies).
I think any additions of info to debugfs that are also available through regular APIs should be considered unnecessary bloat and dropped.

- Felix