Has anyone ever made a Xavier do “suspend-to-disk”? This seems to be disabled by default in Jetpack 4.4 on my Xavier, but it would be useful for us to be able to completely remove power to the Xavier after doing “suspend-to-disk” (e.g., Hibernate).
It looks to be advanced function and we don’t enable and verify it in L4T releases. May see if other users can share experience and suggestion.
Is there any known reason this would not work? In other words, did anyone try this inside of Nvidia, ever? Are we wasting our time if we pursue enabling this because something is possibly broken?
We don’t try it in our BSP development.
There is mention of hibernation under UFS in this document Jetson AGX Xavier Software Features, and also in this driver documentation Jetson Xavier NX, AGX Xavier Series, and TX2 Series Package Manifest.
Perhaps Nvidia engineers will find time to implement hibernation on their Jetson AGX hardware with reference to the above information, as from their documentation, it appears to be doable.
There also appears to be a hibernate package available:
Maintainer: Ubuntu Developers email@example.com
Original-Maintainer: Andrey Rahmatullin firstname.lastname@example.org
Pre-Depends: dpkg (>= 22.214.171.124)
Recommends: dash, hdparm, vbetool, uswsusp
Suggests: 915resolution, xscreensaver | kscreensaver | gnome-screensaver | xlock | vlock
Description-en: smartly puts your computer to sleep (suspend to RAM or disk)
The hibernate script helps you in putting your computer to sleep, using one
of the various methods available in the kernel.
Hibernate can take care of loading and unloading modules, provides various
hacks needed to get some video cards to resume properly under X, can
optionally restart networking and system services, and basically do whatever
else you ask it. It can be extended by writing new “scriptlets” which run at
different points during the suspend process.
Currently the script supports all suspend mechanisms available through the
/sys/power/state interface (including ACPI suspend and the in-kernel software
suspend), as well as TuxOnIce.
We have checked with teams and would like to clarify this. The hardware controller supports hibernation. In BSP development, we see SC7 provide lots of power saving and the feature may not be much useful. We may re-evaluate to enable in the future but on current releases, please use SC7. Thanks.
To be clear, we are investigating hibernation to see if the total boot speed of Xavier could be made much faster from a “cold start” where our Xavier might be sitting for days or weeks, powered off.
We spend significant time launching and configuring a large number (hundreds) of user-mode processes once the kernel is “up”. The hope was that using hibernate we could launch from the same “hiberfile” every time we boot unless we deleted the “hiberfile” after startup. Our hardware connections are very stable because we built our own Xavier motherboard and keep the same static set of hardware connected each time we boot. Our software also is not changing - we have the same set of software each time we boot, doing the exact same thing. Whether we boot now or boot 6 months from now, the software will be doing exactly the same thing. And we really only have 1 file open and being used for writing, so the filesystem is not changing dramatically between boots.
The “TuxOnIce” project mentioned above seems like a really interesting set of patches. Since Xavier and tegra are supposed to be “Embedded” devices, we would like to see Nvidia make investment in both booting faster and getting the device running in the same “running state”. Investments in these areas would benefit the entire tegra community. Even having Nvidia recommend a set of patches for this type of activity would be helpful to all.