History log of /openbsd-src/sys/kern/subr_hibernate.c (Results 1 – 25 of 152)
Revision Date Author Comments
# 2fbc8e98 24-Jan-2025 krw <krw@openbsd.org>

Nuke pointless #define ROUNDUP() and just use equivalent roundup()
as rest of subr_hibernate.c does.

ok mlarkin@


# a569c98a 13-Jan-2025 krw <krw@openbsd.org>

Zeroing free pages to improve compression became superfluous with the permanent
adoption of RLE a decade ago.

Nuke uvm_pmap_zero_everything(), reaping a measureable reduction in the time
taken to su

Zeroing free pages to improve compression became superfluous with the permanent
adoption of RLE a decade ago.

Nuke uvm_pmap_zero_everything(), reaping a measureable reduction in the time
taken to suspend when there are lots of free pages.

ok mlarkin@

show more ...


# 85df19c5 09-Jan-2025 mglocker <mglocker@openbsd.org>

If HIB_DONE fails, print a warning message to the user.

ok lucas@, krw@


# a6c126cc 06-Jan-2025 krw <krw@openbsd.org>

Replace lost ';' so it compiles again.


# f01ce93c 06-Jan-2025 lucas <lucas@openbsd.org>

Partially revert kern/subr_hibernate.c r1.147

Don't check the return value for HIB_DONE. At least sr_hibernate_io
returns ENOTSUP for it, breaking hibernation in softraid devices. Revert
until the d

Partially revert kern/subr_hibernate.c r1.147

Don't check the return value for HIB_DONE. At least sr_hibernate_io
returns ENOTSUP for it, breaking hibernation in softraid devices. Revert
until the drivers can be reevaluated.

suggested by krw

show more ...


# 96b2f336 31-Dec-2024 krw <krw@openbsd.org>

Abandon a hibernate or resume when an i/o or memory allocation fails.

Fixes & ok mglocker@, ok jmatthew@


# e874061e 26-Dec-2024 krw <krw@openbsd.org>

Make hibernate_write_rle() return -1 on i/o error, not the error number. The
return value was always treated as the number of memory pages to skip.

Tweak the invoking logic to abandon the hibernatio

Make hibernate_write_rle() return -1 on i/o error, not the error number. The
return value was always treated as the number of memory pages to skip.

Tweak the invoking logic to abandon the hibernation if -1 is returned.

ok mglocker@ jmatthew@

show more ...


# c33b47b2 25-Dec-2024 krw <krw@openbsd.org>

Restore lost ';'.

Fixes HIB_DEBUG compile.


# 9783fa9d 24-Dec-2024 krw <krw@openbsd.org>

Keep hibernate writes within the area of the swap partition allocated by
uvm_hibswap() for hibernation.

Suggested by mlarkin@, initial diff from mglocker@.

ok mglocker@ deraadt@


# a74a190b 30-Oct-2024 jsg <jsg@openbsd.org>

directly use dev_t for swdevt[], remove struct swdevt
ok mpi@ miod@


# d63ee5a8 18-Aug-2024 mpi <mpi@openbsd.org>

Remove outdated comment about UVM_PLA_WAITOK and the pagedaemon.

ok miod@, mlarkin@


# c3ed0588 05-Jun-2024 krw <krw@openbsd.org>

No need to call d_open/d_close for every hibernate resume i/o.

Speeds up resuming from hibernate.

Testing florian@ stsp@

ok mlarkin@ stsp@


# fc6d48fd 04-Jun-2024 krw <krw@openbsd.org>

Enable hibernate/resume to nvme(4) disks with 4096 byte sectors.

testing by florian@ mglocker@ mlarkin@

ok deraadt@ mglocker@ mlarkin@


# ab0363c3 30-Apr-2024 krw <krw@openbsd.org>

Add '\n' to DPRINTF() string that used to be a panic() string.

ok mlarkin@


# 78964d1a 03-Sep-2022 mlarkin <mlarkin@openbsd.org>

whitespace


# 2547ab58 02-Sep-2022 mlarkin <mlarkin@openbsd.org>

Get the retguard region's phys address from pmap, instead of using linker
script symbols. This is needed since we don't have those symbols on all
archs where we want hibernate.

ok kettenis, and inpu

Get the retguard region's phys address from pmap, instead of using linker
script symbols. This is needed since we don't have those symbols on all
archs where we want hibernate.

ok kettenis, and input and help from miod.

show more ...


# 0dd33aec 01-Sep-2022 mlarkin <mlarkin@openbsd.org>

whitespace


# 02de433d 29-Jul-2022 semarie <semarie@openbsd.org>

Replace the swap extent(9) usage by a blist data structure.

It makes uvm_swap_free() faster: extents have a cost of O(n*n) which doesn't
really scale with gigabytes of swap.

Based on initial work f

Replace the swap extent(9) usage by a blist data structure.

It makes uvm_swap_free() faster: extents have a cost of O(n*n) which doesn't
really scale with gigabytes of swap.

Based on initial work from mpi@
The blist implementation comes from DragonFlyBSD.

The diff adds also a ddb(4) 'show swap' command to show the blist and help
debugging, and fix some off-by-one in size printed during hibernate.

ok mpi@

show more ...


# 0a537ea4 19-Feb-2022 deraadt <deraadt@openbsd.org>

The suspend/resume code sleeps-not-allowed phases are protected with
cold=2. Use the same strategy in a a similar phase during hibernate.


# 116c1678 17-Jan-2022 mlarkin <mlarkin@openbsd.org>

Allow more memory ranges in hibernate

The previous limit of VM_PHYSSEG_MAX ranges (16) was proving too small for
newer machines. This diff reorganizes the hibernate signature block to allow
for 22 r

Allow more memory ranges in hibernate

The previous limit of VM_PHYSSEG_MAX ranges (16) was proving too small for
newer machines. This diff reorganizes the hibernate signature block to allow
for 22 ranges by removing the kernel version comparison and replacing it
with a SHA of several unique kernel features (the version string and several
addresses of functions not inside the same .o).

Reported by claudio@, who also helped fix some issues in the diff. Input
from deraadt@ as well.

Tested by myself and claudio on a variety of machines. Only compile tested on
i386 as I have no more S4-capable i386 hardware anymore.

ok claudio@

show more ...


# 8cae4923 07-Jan-2022 guenther <guenther@openbsd.org>

hibernate_clear_signature() is only used by hibernate_resume(), so
pass in the already read hibernate_info instead of reading it again.

ok deraadt@


# 3fed8fd5 07-Jan-2022 guenther <guenther@openbsd.org>

Extract the slice from the zeroth swap device instead of assuming
it's the 'b' slice and (sanity) check against the partition count.
Also, make the "is union hibernate_info too large?" a compile time

Extract the slice from the zeroth swap device instead of assuming
it's the 'b' slice and (sanity) check against the partition count.
Also, make the "is union hibernate_info too large?" a compile time
check.

ok deraadt@

show more ...


# 21a11680 04-Jan-2022 guenther <guenther@openbsd.org>

Use the device we read the hibernate signature from for the entire
resume. This fixes setups where a umass device no longer attaching
at resume results in a softraid device being renumbered so the
h

Use the device we read the hibernate signature from for the entire
resume. This fixes setups where a umass device no longer attaching
at resume results in a softraid device being renumbered so the
hibernate-time device is no longer correct

ok mlarkin@ jsing@

show more ...


# 71cdd4a2 31-Aug-2021 deraadt <deraadt@openbsd.org>

printing the hibernate image size in MB is easier on the eyes
ok mlarkin


# 56bc0efb 30-Aug-2021 deraadt <deraadt@openbsd.org>

increase hibernate writeout speed a little. modern machines have vast
tracts of unused memory, and the empty-space RLE scanner (uvm_page_rle)
would rescan for empty space needlessly wasting excessiv

increase hibernate writeout speed a little. modern machines have vast
tracts of unused memory, and the empty-space RLE scanner (uvm_page_rle)
would rescan for empty space needlessly wasting excessive cpu time
16G machine, 100sec -> 9sec
40G machine, 325sec -> 28sec
with kettenis mlarkin

show more ...


1234567