Jetpack 4.4 Xavier Hibernate (Suspend-To-Disk)

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).

1 Like

Hi,
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?

Hi,

We don’t try it in our BSP development.

Some clues:

NVIDIA:
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.

OTHER INFORMATION:
Add ‘Hibernate’ Option in Power Menu in Ubuntu 18.04
How can I hibernate on Ubuntu 16.04?
Hibernate and resume from a swap file

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:

Package: hibernate
Architecture: all
Version: 2.0+15+g88d54a8-1
Priority: extra
Section: universe/utils
Origin: Ubuntu
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Original-Maintainer: Andrey Rahmatullin wrar@wrar.name
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 302
Pre-Depends: dpkg (>= 1.15.7.2)
Depends: kbd
Recommends: dash, hdparm, vbetool, uswsusp
Suggests: 915resolution, xscreensaver | kscreensaver | gnome-screensaver | xlock | vlock
Filename: pool/universe/h/hibernate/hibernate_2.0+15+g88d54a8-1_all.deb
Size: 85954
MD5sum: b01e14c145ea271cac212c775f2331cf
SHA1: a4bc60e66bf92019f4a14d27e519d4cb6eb4c338
SHA256: c41b2896e9b0cb64ecad9a2b7dad8ef16dbbf25a10a35a96891db4c74b2050b9
Homepage: http://tuxonice.net/
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.
Description-md5: 56f68fb0a4a2864a3b5ccf3bd54281b3

Hi,
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.