Re: Nokia N900 not hitting OFF mode since 5.9 is caused by proactive memory compaction

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

 



Hi Nitin, linux-mm list,

Any ideas or comments on the problem I encountered and on the question
from Tony below? Is it possible to have CONFIG_COMPACTION not wake up
systems unnecessarily, or should it perhaps be disabled for systems
where power consumption is an issue?

Thanks,
Regards,
Merlijn

PS: I already earlier noted in this thread that setting "sysctl -w
vm.compaction_proactiveness=0" does not solve the problem, as the system
stills is kept awake by CONFIG_COMPACTION.

On 10/12/2021 08:20, Tony Lindgren wrote:
> Hi,
> 
> * Merlijn Wajer <merlijn@xxxxxxxxxx> [211210 00:34]:
>> Hi,
>>
>> I've spent the day bisecting what exact commit prevented the Nokia N900
>> from entering the OFF sleep state (between v5.8 and v5.9), and it this
>> commit:
>>
>>> # first bad commit: [facdaa917c4d5a376d09d25865f5a863f906234a] mm: proactive compaction
>>
>> The git tree prior to that commit can idle at about ~27mW in OFF mode,
>> and it will often remain in that mode for prolonged amounts of time
>> (easily 30 seconds, depending on running userspace). Which the above
>> commit applied, the Nokia N900 almost never hits OFF mode any more. This
>> would suggest at least to disable CONFIG_COMPACTION, perhaps in
>> omap2plus_defconfig? I suspect this might cause idle problems beyond the
>> Nokia N900, too.
> 
> Nice find, adding Nitin to Cc as well. Nitin, can we somehow avoid the
> timers for CONFIG_COMPACTION on an idle system to prevent waking up the
> system unnecessarily?
> 
> Not sure if sysctl -w vm.compaction_proactiveness=0 is enough to disable
> compaction for idle, maybe also the HPAGE_FRAG_CHECK_INTERVAL_MSEC = 500
> at ms also causes extra wake-ups?
> 
> Regards,
> 
> Tony
> 
>> Maybe nothing needs to be done here other than disable the config option
>> -- but I wanted to share this in case others are trying to figure out
>> what happened to their battery life. :-)
>>
>> There seem be more power regressions since then (at least on 5.15 there
>> is more blocking proper idle), so I'll try to find those as well, but if
>> this commit is reverted (or CONFIG_COMPACTION=n is in .config - probably
>> easier) on top of v5.9 the system seems to idle fine.
>>
>>> # grep ^core_pwrdm /sys/kernel/debug/pm_debug/count | cut -d',' -f2,
>>> OFF:16,RET:2
>>
>> Hope this helps someone...
>>
>> Regards,
>> Merlijn
>>
>> PS: v5.10 seems to use another 19mW if panel_sony_acx565akm is loaded
>> even when display is not active (maybe it doesn't suspend or something?
>> - could be fixed later, just noticed it for v5.10). I load it initially
>> to idle the display, but until I rmmod the modules, the module uses
>> quite a bit more power. This problem is not present in v5.9, so that is
>> another thing to chase down I guess... And then v5.15 uses another 12mW
>> more, for not yet uncovered reasons)




[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