History log of /openbsd/sys/uvm/uvm_swap.h (Results 1 – 20 of 20)
Revision Date Author Comments
# 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