#
24aea4fd |
| 09-Oct-2014 |
mlarkin <mlarkin@openbsd.org> |
remove an unused function and some unused variables in hibernate
|
#
b0c80555 |
| 26-Sep-2014 |
kettenis <kettenis@openbsd.org> |
Rework piglet and pig allocation. Currently the piglet gets allocated deep down in the suspend path, where it is really hard to recover from allocation failure. So allocate the piglet early on in t
Rework piglet and pig allocation. Currently the piglet gets allocated deep down in the suspend path, where it is really hard to recover from allocation failure. So allocate the piglet early on in the suspend path. Also change the piglet and piglet allocation functions to use km_alloc(9) instead of doing pmemrange magic. This removes a bunch of code which, in the case of the piglet allocation, is broken since it results in a NULL pointer dereference. Also switch the piglet allocation to not wait. If we can't allocate 16MB of phys contig memory on a halfway modern machine we're almost certainly under a lot of memory pressure and we're better off not trying to hibernate anyway.
ok mlarkin@
show more ...
|
#
95cb2185 |
| 19-Sep-2014 |
kettenis <kettenis@openbsd.org> |
Use config_suspend_all(9).
|
#
965a4b2a |
| 21-Jul-2014 |
mlarkin <mlarkin@openbsd.org> |
fix some wrong comments and a bit of KNF
|
#
7b90f98f |
| 20-Jul-2014 |
mlarkin <mlarkin@openbsd.org> |
Support hibernating to softraid crypto volumes.
much help and ok from deraadt@
|
#
7882bc75 |
| 16-Jul-2014 |
mlarkin <mlarkin@openbsd.org> |
Reenable hibernate RLE support and flush+zero all memory after unpack.
|
#
7bbeffb6 |
| 09-Jul-2014 |
mlarkin <mlarkin@openbsd.org> |
Minor cleanups in wording in some comments and printfs, and added some dprintfs to help debugging in the field (disabled by default)
|
#
31a59060 |
| 09-Jul-2014 |
mlarkin <mlarkin@openbsd.org> |
Don't use the suspending kernel's VA mapping for the piglet. It's far easier and much less error-prone to just identity map it in the resuming kernel as we have more control over the VA space layout
Don't use the suspending kernel's VA mapping for the piglet. It's far easier and much less error-prone to just identity map it in the resuming kernel as we have more control over the VA space layout there (otherwise we are at the mercy of the suspending kernel's placement of the piglet VA).
This diff also increases the size of the piglet to 4 chunks, to avoid an overwrite issue seen in m2k14 where the start of the kernel text was overwritten with a bounced chunk before unpack.
show more ...
|
#
08170551 |
| 09-Jul-2014 |
mlarkin <mlarkin@openbsd.org> |
Cleanup the chunk placement routine by removing the conflict resolver. Chunks are now sorted by ascending PA and all chunks are bounced before unpack. This fixes an issue where the trampoline chunks
Cleanup the chunk placement routine by removing the conflict resolver. Chunks are now sorted by ascending PA and all chunks are bounced before unpack. This fixes an issue where the trampoline chunks were being placed at the end of the unpack ordering, causing overwrite during unpack.
show more ...
|
#
bd831450 |
| 09-Jul-2014 |
mlarkin <mlarkin@openbsd.org> |
Use suspending kernel's stack smash guard to avoid panicing during unpack.
ok deraadt@
|
#
9368744b |
| 31-May-2014 |
mlarkin <mlarkin@openbsd.org> |
Fix a format specifier in a debug printf.
Noticed by Josh Grosse.
|
#
7d396bdb |
| 29-May-2014 |
mlarkin <mlarkin@openbsd.org> |
Read MAXPHYS bytes at a time in the hibernate image read, instead of PAGE_SIZE bytes. Completes the MAXPHYS optimizations in the read path.
with input from guenther@ who suggested a version that was
Read MAXPHYS bytes at a time in the hibernate image read, instead of PAGE_SIZE bytes. Completes the MAXPHYS optimizations in the read path.
with input from guenther@ who suggested a version that was a little easier to understand. Tested on i386 and amd64.
show more ...
|
#
527cac00 |
| 21-May-2014 |
mlarkin <mlarkin@openbsd.org> |
Change use of Z_PARTIAL_FLUSH to Z_SYNC_FLUSH in the hibernate code as per a warning/comment in zlib.h that Z_PARTIAL_FLUSH "will be removed, use Z_SYNC_FLUSH instead".
|
#
9948b232 |
| 26-Apr-2014 |
mlarkin <mlarkin@openbsd.org> |
Perform MAXPHYS-sized reads for the chunktable instead of PAGE_SIZE-sized reads.
Also fix a VA leak in the chunktable read error path.
|
#
57a2f0a6 |
| 20-Apr-2014 |
mlarkin <mlarkin@openbsd.org> |
More dead stores removal in subr_hibernate.c
|
#
3b069d6b |
| 19-Apr-2014 |
mlarkin <mlarkin@openbsd.org> |
Dead stores in subr_hibernate.c
|
#
1a0bb2c4 |
| 21-Mar-2014 |
miod <miod@openbsd.org> |
Allow for two more pmap-specific bits in vm_page pg_flags. Define PG_PMAPMASK as all the possible pmap-specific bits (similar to the other PG_fooMASK) to make sure MI code does not need to be updated
Allow for two more pmap-specific bits in vm_page pg_flags. Define PG_PMAPMASK as all the possible pmap-specific bits (similar to the other PG_fooMASK) to make sure MI code does not need to be updated, the next time more bits are allocated to greedy pmaps.
No functional change, soon to be used by the (greedy) mips64 pmap.
show more ...
|
#
c3f3b0fe |
| 13-Mar-2014 |
dlg <dlg@openbsd.org> |
get rid of the assumption that the head of the alldevs list is the "mainbus" device. this breaks when mpath is enabled because it attaches before mainbus and therefore takes the head position.
have
get rid of the assumption that the head of the alldevs list is the "mainbus" device. this breaks when mpath is enabled because it attaches before mainbus and therefore takes the head position.
have autoconf provide device_mainbus() which looks up mainbus_cd, and use that instead.
discussed with deraadt who just wants mpath stuff to move forward despite there being many ways to shine this particular turd.
show more ...
|
#
dc6189dd |
| 01-Feb-2014 |
mlarkin <mlarkin@openbsd.org> |
Remove some of the excessive cache and TLB flushing going on during hibernate unpack - these were added a while ago when we were fighting different issues that have now been solved.
Tested by myself
Remove some of the excessive cache and TLB flushing going on during hibernate unpack - these were added a while ago when we were fighting different issues that have now been solved.
Tested by myself and dcoppa on a variety of machines
show more ...
|
#
91ba896d |
| 21-Jan-2014 |
tedu <tedu@openbsd.org> |
bzero -> memset
|
#
348d69c2 |
| 14-Jan-2014 |
mlarkin <mlarkin@openbsd.org> |
Typo in a printf, should be 'bytes' not 'blocks'
|
#
27f37992 |
| 21-Nov-2013 |
dlg <dlg@openbsd.org> |
remove the #define b_cylinder b_resid from bufs. i hated the overloading of that thing.
the only hardware that seems to care about cylinders in our tree are floppy drives, and the drivers for those
remove the #define b_cylinder b_resid from bufs. i hated the overloading of that thing.
the only hardware that seems to care about cylinders in our tree are floppy drives, and the drivers for those calculate their own cylinders from logical block addresses and ignore whatever the rest of the kernel thought b_cylinders should be.
most of this diff is moving the floppy drivers to using b_resid as a resid and using that as part of the calculation for real cylinder values.
the rest of the diff is getting rid of the useless assignments to b_cylinder that dont get used by anything (now that disksort is gone).
ok miod@
show more ...
|
#
c085ccbf |
| 09-Nov-2013 |
mlarkin <mlarkin@openbsd.org> |
Remove hibernate_get_next_rle function (unused, and we need to redo it anyway as we move toward a streamed implmentation)
|
#
225caf62 |
| 09-Nov-2013 |
deraadt <deraadt@openbsd.org> |
unbias the chunks and chunktable writing and reading. as a result, it is now possible to move the chunktable right after the chunks, not at the end of the swap. ok mlarkin
|
#
71e939c7 |
| 06-Nov-2013 |
deraadt <deraadt@openbsd.org> |
simplify a crazy expression
|