Re: [PATCH 1/2] wifi: mt76: mt7921: Disable powersaving by default

From: Mario Limonciello
Date: Wed Dec 13 2023 - 14:26:38 EST


On 12/13/2023 06:45, Kalle Valo wrote:
Mario Limonciello <mario.limonciello@xxxxxxx> writes:

Several users have reported awful latency when powersaving is enabled
with certain access point combinations.

What APs are these exactly? In the past 802.11 Power Save Mode was
challenging due to badly behaving APs. But nowadays with so many mobile
devices in the market I would assume that APs work a lot better. It
would be best to investigate the issues in detail and try to fix them in
mt76, assuming the bugs are in mt76 driver or firmware.

In my case I could reproduce the behavior on my Unifi access points. I've got a few that devices could roam between.

I also happen to have a laptop on my desk with a WCN6855 that behaves just fine with those same APs.

The other people with problems I've asked to come to this thread to share more about their devices.


It's also reported that the powersaving feature doesn't provide an
ample enough savings to justify being enabled by default with these
issues.

Any numbers or how was this concluded?

It was just a data point in the original patch from Sultan (who is on CC). I haven't corroborated it myself. Once I saw that other kernel drivers like iwlwifi are also "defaulting" to off with a module parameter I figured it made sense to bring that for discussion.


Introduce a module parameter that would control the power saving
behavior. Set it to default as disabled. This mirrors what some other
WLAN drivers like iwlwifi do.

We have already several ways to control 802.11 power save mode:

* NL80211_CMD_SET_POWER_SAVE (for example used by 'iw set power_save')

I'll experiment with an unpatched kernel just undoing this from here to see if it alone improves things.


* CONFIG_CFG80211_DEFAULT_PS (for kernel level default)

* WIPHY_FLAG_PS_ON_BY_DEFAULT (for the driver to control the default setting)

Adding module parameters as a fourth method sounds confusing so not
really a fan of this. And the bar is quite high for adding new module
parameters anyway.


Should we also discuss removing the iwlwifi one then too perhaps?
Seems incongruent to offer it for some drivers but not others.