From: Sven Eckelmann <sven@narfation.org>
To: linux-wireless@vger.kernel.org,
Johannes Berg <johannes@sipsolutions.net>
Cc: Johannes Berg <johannes.berg@intel.com>,
Jan Fuchs <jf@simonwunderlich.de>
Subject: Re: [PATCH] nl80211: fix radio statistics in survey dump
Date: Fri, 29 Oct 2021 10:46:43 +0200 [thread overview]
Message-ID: <2494935.OLRZgKR7aK@ripper> (raw)
In-Reply-To: <20211029092539.2851b4799386.If9736d4575ee79420cbec1bd930181e1d53c7317@changeid>
[-- Attachment #1: Type: text/plain, Size: 9895 bytes --]
On Friday, 29 October 2021 09:25:39 CEST Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@intel.com>
>
> Even if userspace specifies the NL80211_ATTR_SURVEY_RADIO_STATS
> attribute, we cannot get the statistics because we're not really
> parsing the incoming attributes properly any more.
>
> Fix this by passing the attrbuf to nl80211_prepare_wdev_dump()
> and filling it there, if given, and using a local version only
> if no output is desired.
>
> Since I'm touching it anyway, make nl80211_prepare_wdev_dump()
> static.
Tested-by: Sven Eckelmann <sven@narfation.org>
Thanks for checking the problem. I've tested it together with
https://patchwork.kernel.org/project/linux-wireless/patch/20211029072939.15767-1-johannes@sipsolutions.net/
on an AX200 and firmware version 59.601f3a66.0 cc-a0-59.ucode.
$ sudo ./iw dev wlan0 survey dump --radio
Survey data from wlan0
channel active time: 17205356 ms
channel receive time: 653 ms
channel transmit time: 74 ms
But you might have noticed that the channel active time is off by a lot. Just
after a couple of seconds:
sudo ./iw dev wlan0 survey dump --radio
Survey data from wlan0
channel active time: 38689859 ms
channel receive time: 904 ms
channel transmit time: 128 ms
Here are the times from a loop with a delay of roughly one second:
channel active time: 47284414 ms
channel active time: 47284455 ms
channel active time: 47284496 ms
channel active time: 47284637 ms
channel active time: 47284742 ms
channel active time: 47284788 ms
channel active time: 47284860 ms
channel active time: 47284871 ms
channel active time: 47284883 ms
channel active time: 47284911 ms
channel active time: 47285040 ms
channel active time: 47285280 ms
channel active time: 47285449 ms
channel active time: 47285745 ms
channel active time: 47285886 ms
channel active time: 47286074 ms
channel active time: 47286108 ms
channel active time: 47286120 ms
channel active time: 47286154 ms
channel active time: 47286235 ms
channel active time: 47286247 ms
channel active time: 47286405 ms
channel active time: 47286418 ms
channel active time: 51581468 ms
channel active time: 51581569 ms
channel active time: 51581765 ms
channel active time: 51581795 ms
channel active time: 51581807 ms
channel active time: 51581818 ms
channel active time: 51581836 ms
channel active time: 51581877 ms
channel active time: 51582130 ms
channel active time: 51582205 ms
channel active time: 51582219 ms
channel active time: 51582269 ms
channel active time: 51582319 ms
channel active time: 51582379 ms
channel active time: 51582430 ms
channel active time: 51582491 ms
channel active time: 51582694 ms
channel active time: 51582870 ms
channel active time: 51582926 ms
channel active time: 51582946 ms
channel active time: 51583078 ms
channel active time: 51583111 ms
channel active time: 51583120 ms
channel active time: 51583129 ms
channel active time: 51583142 ms
channel active time: 51583172 ms
channel active time: 51583186 ms
channel active time: 51583331 ms
channel active time: 51583449 ms
channel active time: 51583649 ms
channel active time: 51583776 ms
channel active time: 51583789 ms
channel active time: 51583801 ms
channel active time: 51583821 ms
channel active time: 55878795 ms
channel active time: 55878828 ms
channel active time: 55878853 ms
channel active time: 55878863 ms
channel active time: 55879005 ms
channel active time: 55879051 ms
channel active time: 55879114 ms
channel active time: 55879144 ms
channel active time: 55879169 ms
channel active time: 55879313 ms
channel active time: 55879610 ms
channel active time: 55879626 ms
channel active time: 55879641 ms
channel active time: 55879786 ms
channel active time: 55879931 ms
channel active time: 55880082 ms
channel active time: 55880114 ms
channel active time: 55880145 ms
channel active time: 55880304 ms
channel active time: 55880342 ms
channel active time: 55880397 ms
channel active time: 55880407 ms
channel active time: 55880595 ms
channel active time: 55880653 ms
channel active time: 60175670 ms
channel active time: 60175702 ms
channel active time: 60175714 ms
channel active time: 60175863 ms
channel active time: 60175876 ms
channel active time: 60175887 ms
channel active time: 60175925 ms
channel active time: 60175935 ms
channel active time: 60175950 ms
channel active time: 60175957 ms
channel active time: 60175968 ms
channel active time: 60176020 ms
I haven't checked if these jumps are related to anything specific or not. But
if you multiple the values by 1000 (msec -> usec) and then create a diff
between the previous values then you see that these values are also all over
the place and not roughly ~1000000.
If you just read the mvm->radio_stats.on_time_rf (in usec) then you see following:
channel active time: 2346292 us
channel active time: 3357380 us
channel active time: 4368516 us
channel active time: 4567172 us
channel active time: 126139 us
channel active time: 196605 us
channel active time: 214119 us
channel active time: 234556 us
channel active time: 293402 us
channel active time: 311971 us
channel active time: 322606 us
channel active time: 368173 us
channel active time: 382785 us
channel active time: 420408 us
channel active time: 430851 us
channel active time: 442990 us
channel active time: 458566 us
channel active time: 54960 us
channel active time: 67810 us
channel active time: 187747 us
channel active time: 4295188641 us
channel active time: 4295229424 us
channel active time: 16295 us
channel active time: 160736 us
channel active time: 330166 us
channel active time: 340849 us
channel active time: 356933 us
channel active time: 562579 us
channel active time: 628140 us
channel active time: 678766 us
channel active time: 736022 us
channel active time: 751099 us
channel active time: 769377 us
channel active time: 787728 us
channel active time: 822183 us
channel active time: 832478 us
channel active time: 863107 us
channel active time: 915469 us
channel active time: 52166 us
channel active time: 201828 us
channel active time: 364236 us
channel active time: 387916 us
channel active time: 422965 us
channel active time: 8560 us
channel active time: 4295006989 us
channel active time: 4295020943 us
channel active time: 4295051766 us
channel active time: 4295086037 us
channel active time: 4295119851 us
channel active time: 4295157051 us
channel active time: 4295193488 us
channel active time: 4295247769 us
channel active time: 4295302615 us
channel active time: 4295315627 us
channel active time: 4295352876 us
channel active time: 45385 us
channel active time: 121871 us
channel active time: 142972 us
channel active time: 262344 us
channel active time: 418666 us
So it also jumps all over the place. This could be investigated further but I
just wanted to mention it here.
Kind regards,
Sven
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-10-29 8:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-29 7:25 [PATCH] nl80211: fix radio statistics in survey dump Johannes Berg
2021-10-29 8:46 ` Sven Eckelmann [this message]
2021-11-02 11:12 ` Sven Eckelmann
2021-11-02 12:03 ` Johannes Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2494935.OLRZgKR7aK@ripper \
--to=sven@narfation.org \
--cc=jf@simonwunderlich.de \
--cc=johannes.berg@intel.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox