diff mbox series

[net] net: wwan: t7xx: Change PM_AUTOSUSPEND_MS to 5000

Message ID 20241028073015.692794-1-wojackbb@gmail.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series [net] net: wwan: t7xx: Change PM_AUTOSUSPEND_MS to 5000 | expand

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present fail Series targets non-next tree, but doesn't contain any Fixes tags
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 5 this patch: 5
netdev/build_tools success No tools touched, skip
netdev/cc_maintainers warning 1 maintainers not CCed: andrew+netdev@lunn.ch
netdev/build_clang success Errors and warnings before: 3 this patch: 3
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 4 this patch: 4
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 8 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-10-31--09-00 (tests: 779)

Commit Message

吳逼逼 Oct. 28, 2024, 7:30 a.m. UTC
From: Jack Wu <wojackbb@gmail.com>

Because optimizing the power consumption of t7XX,
change auto suspend time to 5000.

The Tests uses a script to loop through the power_state
of t7XX.
(for example: /sys/bus/pci/devices/0000\:72\:00.0/power_state)

* If Auto suspend is 20 seconds,
  test script show power_state have 0~5% of the time was in D3 state
  when host don't have data packet transmission.

* Changed auto suspend time to 5 seconds,
  test script show power_state have 50%~80% of the time was in D3 state
  when host don't have data packet transmission.

Signed-off-by: Jack Wu <wojackbb@gmail.com>
---
 drivers/net/wwan/t7xx/t7xx_pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sergey Ryazanov Oct. 29, 2024, 1:19 a.m. UTC | #1
Hello Jack,

On 28.10.2024 09:30, wojackbb@gmail.com wrote:
> From: Jack Wu <wojackbb@gmail.com>
> 
> Because optimizing the power consumption of t7XX,
> change auto suspend time to 5000.
> 
> The Tests uses a script to loop through the power_state
> of t7XX.
> (for example: /sys/bus/pci/devices/0000\:72\:00.0/power_state)
> 
> * If Auto suspend is 20 seconds,
>    test script show power_state have 0~5% of the time was in D3 state
>    when host don't have data packet transmission.
> 
> * Changed auto suspend time to 5 seconds,
>    test script show power_state have 50%~80% of the time was in D3 state
>    when host don't have data packet transmission.

What negative outcomes of putting the modem into the suspended state? 
Out of curiosity, is the chipset capable to comeback from the suspended 
state on receiving data from a network?

> Signed-off-by: Jack Wu <wojackbb@gmail.com>
> ---
>   drivers/net/wwan/t7xx/t7xx_pci.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wwan/t7xx/t7xx_pci.c b/drivers/net/wwan/t7xx/t7xx_pci.c
> index e556e5bd49ab..dcadd615a025 100644
> --- a/drivers/net/wwan/t7xx/t7xx_pci.c
> +++ b/drivers/net/wwan/t7xx/t7xx_pci.c
> @@ -48,7 +48,7 @@
>   #define T7XX_INIT_TIMEOUT		20
>   #define PM_SLEEP_DIS_TIMEOUT_MS		20
>   #define PM_ACK_TIMEOUT_MS		1500
> -#define PM_AUTOSUSPEND_MS		20000
> +#define PM_AUTOSUSPEND_MS		5000
>   #define PM_RESOURCE_POLL_TIMEOUT_US	10000
>   #define PM_RESOURCE_POLL_STEP_US	100
>
Jakub Kicinski Nov. 1, 2024, 1:51 a.m. UTC | #2
On Mon, 28 Oct 2024 15:30:15 +0800 wojackbb@gmail.com wrote:
> Because optimizing the power consumption of t7XX,
> change auto suspend time to 5000.
> 
> The Tests uses a script to loop through the power_state
> of t7XX.
> (for example: /sys/bus/pci/devices/0000\:72\:00.0/power_state)
> 
> * If Auto suspend is 20 seconds,
>   test script show power_state have 0~5% of the time was in D3 state
>   when host don't have data packet transmission.
> 
> * Changed auto suspend time to 5 seconds,
>   test script show power_state have 50%~80% of the time was in D3 state
>   when host don't have data packet transmission.

I'm going to drop this from PW while we wait for your reply to Sergey
If the patch is still good after answering his questions please update
the commit message and resend with a [net-next] tag (we use [net] to
designate fixes for current release and stable)
吳逼逼 Nov. 6, 2024, 11:10 a.m. UTC | #3
If the PCIE connection remains in the D0 state, It will consume more power.

Receiving or sending data will cause PCIE to change D3 Cold to D0 state.

Jakub Kicinski <kuba@kernel.org> 於 2024年11月1日 週五 上午9:51寫道:
>
> On Mon, 28 Oct 2024 15:30:15 +0800 wojackbb@gmail.com wrote:
> > Because optimizing the power consumption of t7XX,
> > change auto suspend time to 5000.
> >
> > The Tests uses a script to loop through the power_state
> > of t7XX.
> > (for example: /sys/bus/pci/devices/0000\:72\:00.0/power_state)
> >
> > * If Auto suspend is 20 seconds,
> >   test script show power_state have 0~5% of the time was in D3 state
> >   when host don't have data packet transmission.
> >
> > * Changed auto suspend time to 5 seconds,
> >   test script show power_state have 50%~80% of the time was in D3 state
> >   when host don't have data packet transmission.
>
> I'm going to drop this from PW while we wait for your reply to Sergey
> If the patch is still good after answering his questions please update
> the commit message and resend with a [net-next] tag (we use [net] to
> designate fixes for current release and stable)
Sergey Ryazanov Nov. 6, 2024, 10:12 p.m. UTC | #4
Hello Jack,

On 06.11.2024 13:10, 吳逼逼 wrote:
> If the PCIE connection remains in the D0 state, It will consume more power.

True. Keeping device active causes battery drainage and the idea to put 
inactive device into the power saving mode is clear. My question was not 
about power consumption. I am trying to understand what other 
consequences of keeping modem suspended. More specifically, how the 
suspend mode influences user data communication?

> Receiving or sending data will cause PCIE to change D3 Cold to D0 state.

Am I understand it correctly that even receiving IP packets on downlink 
will cause PCIe link re-activation?


I am concerned about a TCP connection that can be idle for a long period 
of time. For example, an established SSH connection can stay idle for 
minutes. If I connected to a server and execute something like this:

user@host$ sleep 20 && echo "Done"

Will I eventually see the "Done" message or will the autosuspended modem 
effectively block any incoming traffic? And how long does it take for 
the modem to wake up and deliver a downlink packet to the host? Have you 
measured StDev change?

> Jakub Kicinski <kuba@kernel.org> 於 2024年11月1日 週五 上午9:51寫道:
>>
>> On Mon, 28 Oct 2024 15:30:15 +0800 wojackbb@gmail.com wrote:
>>> Because optimizing the power consumption of t7XX,
>>> change auto suspend time to 5000.
>>>
>>> The Tests uses a script to loop through the power_state
>>> of t7XX.
>>> (for example: /sys/bus/pci/devices/0000\:72\:00.0/power_state)
>>>
>>> * If Auto suspend is 20 seconds,
>>>    test script show power_state have 0~5% of the time was in D3 state
>>>    when host don't have data packet transmission.
>>>
>>> * Changed auto suspend time to 5 seconds,
>>>    test script show power_state have 50%~80% of the time was in D3 state
>>>    when host don't have data packet transmission.
>>
>> I'm going to drop this from PW while we wait for your reply to Sergey
>> If the patch is still good after answering his questions please update
>> the commit message and resend with a [net-next] tag (we use [net] to
>> designate fixes for current release and stable)

--
Sergey
diff mbox series

Patch

diff --git a/drivers/net/wwan/t7xx/t7xx_pci.c b/drivers/net/wwan/t7xx/t7xx_pci.c
index e556e5bd49ab..dcadd615a025 100644
--- a/drivers/net/wwan/t7xx/t7xx_pci.c
+++ b/drivers/net/wwan/t7xx/t7xx_pci.c
@@ -48,7 +48,7 @@ 
 #define T7XX_INIT_TIMEOUT		20
 #define PM_SLEEP_DIS_TIMEOUT_MS		20
 #define PM_ACK_TIMEOUT_MS		1500
-#define PM_AUTOSUSPEND_MS		20000
+#define PM_AUTOSUSPEND_MS		5000
 #define PM_RESOURCE_POLL_TIMEOUT_US	10000
 #define PM_RESOURCE_POLL_STEP_US	100