OpenBSD Journal

Hibernate on amd64

Contributed by tbert on from the just-keep-hitting-the-snooze-bar dept.

Mike Larkin(mlarkin@) writes to let us know that basic hibernation support is in the tree for amd64 machines.

So I was able to make good forward progress here in Dunedin wrt hibernate on amd64. Here's where things currently stand so there is no confusion:

What works:

  1. amd64 hibernate is enabled in tree right now via ZZZ (ala i386)
  2. wd(4)/pciide(4) and ahci(4) should both work. Both were tested (very limited) here in Dunedin.
  3. Tested working on various machines:
    • Dell inspiron duo (Atom with 2GB and wd/ahci (both tested))
    • Thinkpad x61s (Core 2 duo with 4GB and wd/ahci (both tested))
    • Simulators (qemu/bochs/etc)

What doesn't work:

  1. SMP (reboots on resume/unpack)
  2. x61s works, but is *VERY* slow on resume (like 20+ minutes to unpack after reading the disk image back into memory). This is like my W500 thinkpad from Budapest back in July - it works, but is probably not too usable due to the extreme slow performance on resume. Theo and I tried to debug this today but didn't make much forward progress. We are still looking into it.
  3. Thinkpad x230 reboots on resume - this is due to an access to an unmapped page somewhere deep in the bowels of zlib. Investigation continues.
I plan to work on items 1 and 3 above on the flight home tomorrow. The good news is that if you get a machine that works (like the dell above, for example), it seems to be very solid ( I had that machine doing constant ZZZ cycles for 48 hours while playing movies in X over and over).

Like i386, you need to have enough swap (greater than phys mem) to hibernate. If you get stuck in a cycle where it wont unpack and tries to unhibernate over and over again, you can abort the hibernate by setting mach mem = something else (e.g. "mach mem =400M") and rebooting. We need to be a bit more paranoid about hibernate signatures but I think it's fine for now the way it is.

Note that just like regular (lower case) zzz, apmd will allow 'joe user' to issue hibernate requests, so be careful running apmd on shared servers.

This should be available in snapshots dated January 18 or later from your local mirror. As always, widespread testing is essential to shaking out the bugs.

(Comments are closed)


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]