Home | History | Annotate | Download | only in uvm
History log of /src/sys/uvm/uvm_swap.h
RevisionDateAuthorComments
 1.29  15-Mar-2024  andvar "retval = 0" should be "*retval = 0", should fix the broken build.
 1.28  15-Mar-2024  andvar Rewrite !VMSWAP uvm_swap_stats() macro as a static function. NFCI.

From riastradh
 1.27  15-Mar-2024  andvar Fix !VMSWAP build:
Added __unused for few local variables, which are used in VMSWAP block only.
Adjust !VMSWAP uvm_swap_stats() definition to make it build with compat code.
Copied "int (*uvm_swap_stats50)(...)" definition from uvm_swap to uvm_swapstub
to avoid missing uvm_swap_stats50 reference on linking.

Fixes INSTALL_CPMBR1400, INSTALL_ZYXELKX evbmips kernel configs as a result.

Reviewed by simon and phone in IRC (thanks).
 1.26  05-Sep-2020  riastradh Round of uvm.h cleanup.

The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
to query whether curlwp is the pagedaemon, which should maybe be
exposed by an external header.

- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
by it. We should split up uvm_extern.h but this will serve for now
to reduce the uvm.h dependencies.

- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
UVMHIST(ubchist), since ubchist is declared in uvm.h but the
reference evaporates if UVMHIST is not defined, so we reduce header
file dependencies.

- Make uvm_device.h and uvm_swap.h independently includable while
here.

ok chs@
 1.25  01-May-2019  mlelstv allow NONE build
 1.24  15-Mar-2018  christos branches: 1.24.2;
finish moving the compat code out.
 1.23  15-Mar-2018  christos Untangle the swapctl compat code mess. Welcome to lucky 13.
 1.22  30-Jul-2015  christos branches: 1.22.16;
include decls for _MODULE
 1.21  30-Jul-2015  maxv Lock before calling uvm_swap_stats(). Otherwise a race condition could
corrupt memory.
 1.20  03-Feb-2014  manu branches: 1.20.6;
Properly translate struct swapent for COMPAT_NETBSD32
 1.19  23-Nov-2013  christos convert from CIRCLEQ to TAILQ
add uvm_swap_shutdown(), unused
 1.18  27-Apr-2011  rmind branches: 1.18.4; 1.18.10; 1.18.14; 1.18.18;
Remove public uvm_swap_stats() routine, keep it internal.
 1.17  29-May-2008  mrg branches: 1.17.20; 1.17.26;
remove clause #3 from my license where there are no other
copyright holders involved.
 1.16  22-Feb-2007  thorpej branches: 1.16.38; 1.16.40; 1.16.42; 1.16.44;
TRUE -> true, FALSE -> false
 1.15  21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.14  11-Dec-2005  christos branches: 1.14.26;
merge ktrace-lwp.
 1.13  17-Sep-2005  yamt - make uvm_swap_stats acquire swap_syscall_lock by itsself
so that callers don't need to acquire it beforehand.
- make swap_syscall_lock static.
 1.12  17-Sep-2005  yamt make VMSWAP optional again.
 1.11  13-Sep-2005  yamt wrap swap related code by #ifdef VMSWAP. always #define VMSWAP for now.
 1.10  31-Jul-2005  yamt revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.
 1.9  30-Jul-2005  yamt defflag VMSWAP.
 1.8  11-Aug-2003  pk branches: 1.8.16;
Introduce uvm_swapisfull(), which computes the available swap space by
taking into account swap devices that are in the process of being removed.
 1.7  21-Jul-2003  mrg de-__P()ify.
 1.6  18-Mar-2002  manu branches: 1.6.12;
Move swapctl(SWAP_STATS) implementation to a separate function called
uvm_swap_stats(). This is done in order to allow COMPAT_* swapctl()
emulation to use it directly without going through sys_swapctl().

The problem with using sys_swapctl() there is that it involves
copying the swapent array to the stackgap, and this array's size
is not known at build time. Hence it would not be possible to
ensure it would fit in the stackgap in any case.
 1.5  11-Jan-2000  chs branches: 1.5.6; 1.5.8;
add support for ``swapctl -d'' (removing swap space).
improve handling of i/o errors in swap space.

reviewed by: Chuck Cranor
 1.4  21-Jun-1999  thorpej branches: 1.4.2;
Protect prototypes, certain macros, and inlines from userland.
 1.3  07-Feb-1998  mrg branches: 1.3.10;
restore rcsids
 1.2  06-Feb-1998  thorpej RCS ID police.
 1.1  05-Feb-1998  mrg branches: 1.1.1;
Initial revision
 1.1.1.1  05-Feb-1998  mrg initial import of the new virtual memory system, UVM, into -current.

UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code. i provided some help
getting swap and paging working, and other bug fixes/ideas. chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the UVM kernel code portion.


this will be KNF'd shortly. :-)
 1.3.10.1  01-Jul-1999  thorpej Sync w/ -current.
 1.4.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.5.8.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.6.1  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.6.12.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.6.12.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.12.2  18-Sep-2004  skrll Sync with HEAD.
 1.6.12.1  03-Aug-2004  skrll Sync with HEAD
 1.8.16.2  26-Feb-2007  yamt sync with head.
 1.8.16.1  21-Jun-2006  yamt sync with head.
 1.14.26.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.16.44.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.42.1  04-May-2009  yamt sync with head.
 1.16.40.1  04-Jun-2008  yamt sync with head
 1.16.38.1  02-Jun-2008  mjf Sync with HEAD.
 1.17.26.1  06-Jun-2011  jruoho Sync with HEAD.
 1.17.20.1  31-May-2011  rmind sync with head
 1.18.18.1  18-May-2014  rmind sync with head
 1.18.14.2  03-Dec-2017  jdolecek update from HEAD
 1.18.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.10.1  18-Mar-2014  msaitoh Pull up following revision(s) (requested by manu in ticket #1025):
sys/compat/netbsd32/netbsd32_netbsd.c: revision 1.184
sys/uvm/uvm_swap.c: revision 1.166
sys/uvm/uvm_swap.h: revision 1.20
sys/compat/netbsd32/netbsd32.h: revision 1.99
Properly translate struct swapent for COMPAT_NETBSD32
Properly translate struct swapent for COMPAT_NETBSD32 (missing commit)
 1.18.4.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.20.6.1  22-Sep-2015  skrll Sync with HEAD
 1.22.16.3  15-Mar-2018  pgoyette Resolve conflicts from sync-with-HEAD
 1.22.16.2  15-Mar-2018  pgoyette Synch with HEAD
 1.22.16.1  13-Mar-2018  pgoyette Move the swapstats compat code into the compat_netbsd module.

Without this, a kernel configured without COMPAT_13 and/or COMPAT_50
could not execute the compat swapstats code, even if the compat_netbsd
module had been loaded.
 1.24.2.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed