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 New
Headers show
Series [net] net: wwan: t7xx: Change PM_AUTOSUSPEND_MS to 5000 | expand

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