Re: [PATCH] arm64: dts: imx8mp: add cpuidle state "cpu-pd-wait"

POPESCU Catalin
2025-04-15T15:42:25Z

Hi Jai,

This issue was already reported by Stefan. The problem is that I don't
have a Debix board to investigate.
The main difference b/w WFI and cpu-pd-wait is that the first doesn't
call PSCI/TF-A. So, the issue looks to be related to some settings in
the TF-A.
What I don't get is why I don't see this issue neither on our IMX8MP
specific design nor on the EVK, which uses the same PHY as the Debix board.

BR,
Catalin

On 14/04/2025 14:07, Jai Luthra wrote:
> Hi Catalin, Shawn,
>
> On Oct 21, 2024 at 17:42:34 +0800, Shawn Guo wrote:
>> On Mon, Oct 07, 2024 at 03:44:24PM +0200, Catalin Popescu wrote:
>>> So far, only WFI is supported on i.MX8mp platform. Add support for
>>> deeper cpuidle state "cpu-pd-wait" that would allow for better power
>>> usage during runtime. This is a port from NXP downstream kernel.
>>>
> Since the introduction of this patch in mainline, I am facing sluggish
> network performance with my Debix Model-A board with i.MX8mp SoC.
>
> The network latency jumps to >1s after almost every other packet:
>
> PING debix (10.0.42.5) 56(84) bytes of data.
> 64 bytes from debix (10.0.42.5): icmp_seq=1 ttl=64 time=1008 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=2 ttl=64 time=0.488 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=3 ttl=64 time=1025 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=4 ttl=64 time=0.810 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=5 ttl=64 time=590 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=6 ttl=64 time=0.351 ms
> ^C
> --- debix ping statistics ---
> 7 packets transmitted, 6 received, 14.2857% packet loss, time 6126ms
> rtt min/avg/max/mdev = 0.351/437.416/1024.755/459.370 ms, pipe 2
> darkapex at freya in ~
>
> If I revert the patch, or disable the deeper cpuidle state through
> sysfs, the issue goes away.
>
> # echo 1 > /sys/devices/system/cpu/cpu$i/cpuidle/state1/disable
>
> PING debix (10.0.42.5) 56(84) bytes of data.
> 64 bytes from debix (10.0.42.5): icmp_seq=1 ttl=64 time=0.482 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=2 ttl=64 time=2.28 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=3 ttl=64 time=2.26 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=4 ttl=64 time=0.848 ms
> 64 bytes from debix (10.0.42.5): icmp_seq=5 ttl=64 time=0.406 ms
> ^C
> --- debix ping statistics ---
> 5 packets transmitted, 5 received, 0% packet loss, time 4051ms
> rtt min/avg/max/mdev = 0.406/1.255/2.280/0.842 ms
>
>>> Signed-off-by: Catalin Popescu
>>> <catalin.popescu@leica-geosystems.com>
>> Applied, thanks!
>>
>>
> Thanks,
> Jai