2012-11-26 05:18:33

by Saravana

[permalink] [raw]
Subject: RFC[3/4] mac80211: add statistic to debugfs

Provide additional statistic support to the debugfs.

Current Tx Rate:
The rc_stats file in the debugfs provides the a more detailed
information of individual rates(success, retries, PER etc). But the
current tx rate may not be evidently interpreted from this. This
statistic will provide the current tx rate evidently.


Signed-off-by: Saravana <[email protected]>
---
The diff file is generated from wireless-testing git tree.

net/mac80211/debugfs_sta.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c
index 89281d2..c576848 100644
--- a/net/mac80211/debugfs_sta.c
+++ b/net/mac80211/debugfs_sta.c
@@ -321,6 +321,20 @@ static ssize_t sta_ht_capa_read(struct file *file,
char __user *userbuf,
}
STA_OPS(ht_capa);

+static ssize_t sta_current_tx_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_tx(sta, &sta->last_tx_rate, &rinfo);
+ rate = cfg80211_calculate_bitrate(&rinfo);
+
+ return mac80211_format_buffer(userbuf, count, ppos, "%d.%d
MBit/s\n",rate/10,rate%10);
+
+}
+STA_OPS(current_tx_rate);
+
#define DEBUGFS_ADD(name) \
debugfs_create_file(#name, 0400, \
sta->debugfs.dir, sta, &sta_ ##name## _ops);
@@ -369,6 +383,7 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta)
DEBUGFS_ADD(dev);
DEBUGFS_ADD(last_signal);
DEBUGFS_ADD(ht_capa);
+ DEBUGFS_ADD(current_tx_rate);

DEBUGFS_ADD_COUNTER(rx_packets, rx_packets);
DEBUGFS_ADD_COUNTER(tx_packets, tx_packets);