Re: power states transitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Ran Shalit <ranshalit@xxxxxxxxx> [151122 07:59]:
> Hello,
> 
> I have stranhe behaviour in which even when there is no activity in
> serial port, the retention counter is keep incremented all these time,
> as if the cpu gets in and out of retention periodically.
> I would expect the cpu to get into retention mode, when there is no
> activity and stay in that state.
> What can cause such behaviour ? Is it because some background process ?

Sounds like your device is hitting deper idle states during idle. If
you want to disable that, set the UART autosuspend_delay_ms to -1:

#/bin/bash
uarts=$(find /sys/class/tty/tty[SO]*/device/power/ -type d)
for uart in $uarts; do
        echo -1 > $uart/autosuspend_delay_ms 2>&1
done

The above will keep the UARTs active blocking any deeper idle
states. I believe the value has to be -1 instead of 0 to disable
autoidle.. but please verify yourself.

> My original problem is that the ethernet performance is very low with
> small windows. I thought that I can control this value by changing
> sleep_latency parameter in
> the following array. Yet, it did not help me. I don't know why.

Maybe test if the above script helps with the Ethernet too. If the
Ethernet controller is on GPMC, it's not blocking deeper idle states
automatically in hardware. Adding DMA support to the Ethernet driver
would be a good way to block deeper idle states automatically by
the Ethernet hardware.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux