#
cb3ee63a |
| 27-Oct-2023 |
mpi <mpi@openbsd.org> |
Make out-of-swap checks more robust.
Consider that the swap space is full when 99% of it is filled with pages that are no longer present in memory. This prevents deadlocks when out-of-swap if some
Make out-of-swap checks more robust.
Consider that the swap space is full when 99% of it is filled with pages that are no longer present in memory. This prevents deadlocks when out-of-swap if some swap ranges had I/O errors and have been marked as 'bad', or if some pages are unreachable by the pagedaemon and still holding some slots.
Also introduce uvm_swapisfilled() to check if there are some free slots in the swap. Note that we consider the swap space completly filled if it is not possible to write a full cluster. This prevents deadlocks if a few slots are never allocated.
ok miod@
show more ...
|
#
7de6a059 |
| 28-Jun-2022 |
mpi <mpi@openbsd.org> |
Pre-allocate pages in DMA-reachable region to ensure progress in the swapper.
Currently swap encryption is not done in place and some architectures need to bounce pages into a DMA-reachable region f
Pre-allocate pages in DMA-reachable region to ensure progress in the swapper.
Currently swap encryption is not done in place and some architectures need to bounce pages into a DMA-reachable region for I/Os, for that uvm_swap_io() needs to allocate at most 64K to write a swap cluster to disk. Pre-allocate such amount of memory to be sure the page daemon can make progress in OOM situation.
Also introduce a sleeping point to wait for the previous asynchronous I/O holding the pre-allocated pages, there's no point in building clusters if no progress can be made.
ok beck@, kettenis@
show more ...
|
#
afd3b31e |
| 29-Sep-2020 |
mpi <mpi@openbsd.org> |
Introduce a helper to check if all available swap is in use.
This reduces code duplication, reduces the diff with NetBSD and will help to introduce locks around global variables.
ok cheloha@
|
#
0af614b4 |
| 05-Dec-2019 |
mpi <mpi@openbsd.org> |
Remove clause #3 from mrg@NetBSD license.
In May 29 2008, Matthew R. Green removed it in NetBSD: github.com/IIJ-NetBSD/netbsd-src/commit/7ea20401d535da9996394136ef
ok deraadt@
|
#
73ac9b72 |
| 05-Nov-2013 |
deraadt <deraadt@openbsd.org> |
new function uvm_hibswap() finds a the largest free zone in swap, which hibernate can use place the data. ok mlarkin
|
#
300022a8 |
| 11-Jul-2012 |
mlarkin <mlarkin@openbsd.org> |
#ifdef the uvm swap checker fn for hibernate only, to save space in kernels that don't use hibernate
requested by and ok deraadt@
|
#
630cd247 |
| 11-Jul-2012 |
mlarkin <mlarkin@openbsd.org> |
add uvm_swap_check_range to scan for contig free space at end of swap. will be needed shortly for hibernate.
ok deraadt@
|
#
2bb3cc69 |
| 01-Jul-2010 |
oga <oga@openbsd.org> |
Allow swapping to happen in the case where where we have more memory than we can realistically dma to.
In the swap encrypt case we already bounce through a intermediate buffer for pageout, so just m
Allow swapping to happen in the case where where we have more memory than we can realistically dma to.
In the swap encrypt case we already bounce through a intermediate buffer for pageout, so just make sure that that buffer is constrained to dmaable memory. In the other cases we check to see if the memory is dmaable, then if not we bounce it.
ok beck@, art@, thib@.
show more ...
|
#
9ec4e36c |
| 12-Apr-2008 |
miod <miod@openbsd.org> |
Prune the in-use swap encryption keys in uvm_shutdown(), per deraadt@'s idea.
|
#
c4071fd1 |
| 14-Mar-2002 |
millert <millert@openbsd.org> |
First round of __P removal in sys
|
#
1aa8821b |
| 10-Nov-2001 |
art <art@openbsd.org> |
Merge in some parts of the ubc work that has been done in NetBSD that are not UBC, but prerequsites for it.
- Create a daemon that processes async I/O (swap and paging in the future) requests that
Merge in some parts of the ubc work that has been done in NetBSD that are not UBC, but prerequsites for it.
- Create a daemon that processes async I/O (swap and paging in the future) requests that need processing in process context and that were processed in the pagedaemon before. - Convert some ugly ifdef DIAGNOSTIC code to less intrusive KASSERTs. - misc other cleanups.
show more ...
|
#
fd628a11 |
| 07-Nov-2001 |
art <art@openbsd.org> |
Another sync of uvm to NetBSD. Just minor fiddling, no major changes.
|
#
28fbabcf |
| 26-Jul-2001 |
art <art@openbsd.org> |
Add support for disabling swap devices (swapctl -d). Improve error handling on I/O errors to swap. From NetBSD
|
#
4eac0bf0 |
| 22-Mar-2001 |
smart <smart@openbsd.org> |
Sync style, typo, and comments a little closer to NetBSD. art@ ok
|
#
ab87c361 |
| 09-Mar-2001 |
smart <smart@openbsd.org> |
Protect protypes, certain macros, and inlines from userland. Checked userland with a 'make build'. From NetBSD. art@ ok
|
#
133306f0 |
| 29-Jan-2001 |
niklas <niklas@openbsd.org> |
$OpenBSD$
|
#
7e52177c |
| 18-Mar-2000 |
provos <provos@openbsd.org> |
postpone memory allocation for uvm swap encryption until it is turned on with sysctl.
|
#
4a392226 |
| 15-Mar-2000 |
art <art@openbsd.org> |
Fix the NetBSD id strings.
|
#
38146aad |
| 26-Feb-1999 |
art <art@openbsd.org> |
add OpenBSD tags
|
#
cd7ee8ac |
| 26-Feb-1999 |
art <art@openbsd.org> |
Import of uvm from NetBSD. Some local changes, some code disabled
|