History log of /src/sys/uvm/uvm_anon.h |
Revision | | Date | Author | Comments |
1.32 |
| 20-Mar-2020 |
ad | Go back to freeing struct vm_anon one by one. There may have been an advantage circa ~2008 but there isn't now.
|
1.31 |
| 23-Feb-2020 |
ad | UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
1.30 |
| 06-Aug-2011 |
rmind | branches: 1.30.54; 1.30.60; - Rework uvm_anfree() into uvm_anon_freelst(), which always drops the lock. - Free anons in uvm_anon_freelst() without lock held. - Mechanic sync to unused loaning code.
|
1.29 |
| 24-Jun-2011 |
rmind | Fix uvmplock regression - a lock against oneself case in amap_swap_off(). Happens since amap is NULL in uvmfault_anonget(), so uvmfault_unlockall() keeps anon locked, when it should unlock it.
|
1.28 |
| 12-Jun-2011 |
rmind | Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.27 |
| 02-Feb-2011 |
chuck | branches: 1.27.2; udpate license clauses on my code to match the new-style BSD licenses. based on diff that rmind@ sent me.
no functional change with this commit.
|
1.26 |
| 14-Jun-2009 |
yamt | branches: 1.26.4; 1.26.6; 1.26.8; change the order of members of vm_anon for better packing.
|
1.25 |
| 02-Jan-2008 |
ad | branches: 1.25.10; 1.25.24; Merge vmlocking2 to head.
|
1.24 |
| 21-Feb-2007 |
thorpej | branches: 1.24.4; 1.24.18; 1.24.24; 1.24.26; 1.24.30; 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.23 |
| 11-Dec-2005 |
christos | branches: 1.23.26; merge ktrace-lwp.
|
1.22 |
| 17-Sep-2005 |
yamt | make VMSWAP optional again.
|
1.21 |
| 13-Sep-2005 |
yamt | wrap swap related code by #ifdef VMSWAP. always #define VMSWAP for now.
|
1.20 |
| 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.19 |
| 30-Jul-2005 |
yamt | defflag VMSWAP.
|
1.18 |
| 11-May-2005 |
yamt | branches: 1.18.2; allocate anons on-demand, rather than reserving static amount of them on boot/swapon.
|
1.17 |
| 05-May-2004 |
yamt | fix a amap_wirerange deadlock problem by re-introducing PG_RELEASED for anon pages. PR/23171 from Christian Limpach. for details, see discussion filed in the PR database.
uvm_anon_release: a new function to free anon-owned PG_RELEASED page. uvm_anfree: we can't wait for the page here because the caller might hold amap lock. instead, just mark the page as PG_RELEASED. who unbusy the page should check the PG_RELEASED. uvm_aio_aiodone: uvm_anon_release() instead of uvm_page_unbusy() if appropriate. uvmfault_anonget: check PG_RELEASED.
|
1.16 |
| 24-Mar-2004 |
junyoung | branches: 1.16.2; Nuke __P().
|
1.15 |
| 26-May-2001 |
chs | branches: 1.15.22; replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
|
1.14 |
| 25-May-2001 |
chs | remove trailing whitespace.
|
1.13 |
| 27-Dec-2000 |
chs | branches: 1.13.2; when we fail to allocate anons to represent new swap space, just return an error rather than panicing.
|
1.12 |
| 11-Jan-2000 |
chs | branches: 1.12.4; add support for ``swapctl -d'' (removing swap space). improve handling of i/o errors in swap space.
reviewed by: Chuck Cranor
|
1.11 |
| 21-Jun-1999 |
thorpej | branches: 1.11.2; Protect prototypes, certain macros, and inlines from userland.
|
1.10 |
| 26-Mar-1999 |
chs | branches: 1.10.4; add uvmexp.swpgonly and use it to detect out-of-swap conditions.
|
1.9 |
| 24-Jan-1999 |
chuck | cleanup/reorg: - break anon related functions out of uvm_amap.c and put them in their own file (uvm_anon.c). includes break up uvm_anon_init into an amap and an an anon init function - ensure that only functions within the amap module access amap structure fields (add macros to amap api as needed)
|
1.8 |
| 20-Nov-1998 |
chuck | update outdated an_swslot comments
|
1.7 |
| 09-Mar-1998 |
mrg | KNF.
|
1.6 |
| 01-Mar-1998 |
fvdl | Merge with Lite2 + local changes
|
1.5 |
| 10-Feb-1998 |
perry | add/cleanup multiple inclusion protection.
|
1.4 |
| 09-Feb-1998 |
mrg | KNF.
|
1.3 |
| 07-Feb-1998 |
mrg | 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.10.4.1 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
1.11.2.2 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.11.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.12.4.1 |
| 14-Feb-2002 |
he | Pull up revision 1.13 (requested by chs): Make memory allocation failures during ``swapctl -a'' return an error instead of causing a panic.
|
1.13.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.15.22.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.15.22.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.15.22.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.15.22.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.16.2.1 |
| 10-May-2004 |
tron | Pull up revision 1.17 (requested by yamt in ticket #271): fix a amap_wirerange deadlock problem by re-introducing PG_RELEASED for anon pages. PR/23171 from Christian Limpach. for details, see discussion filed in the PR database. uvm_anon_release: a new function to free anon-owned PG_RELEASED page. uvm_anfree: we can't wait for the page here because the caller might hold amap lock. instead, just mark the page as PG_RELEASED. who unbusy the page should check the PG_RELEASED. uvm_aio_aiodone: uvm_anon_release() instead of uvm_page_unbusy() if appropriate. uvmfault_anonget: check PG_RELEASED.
|
1.18.2.3 |
| 21-Jan-2008 |
yamt | sync with head
|
1.18.2.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.18.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.23.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.24.30.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.24.26.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.24.24.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.24.18.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.24.4.1 |
| 13-Mar-2007 |
ad | Pull in the initial set of changes for the vmlocking branch.
|
1.25.24.1 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.25.10.1 |
| 20-Jun-2009 |
yamt | sync with head
|
1.26.8.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.26.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.26.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.26.4.1 |
| 17-Mar-2010 |
rmind | Reorganise UVM locking to protect P->V state and serialise pmap(9) operations on the same page(s) by always locking their owner. Hence lock order: "vmpage"-lock -> pmap-lock.
Patch, proposed on tech-kern@, from Andrew Doran.
|
1.27.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.30.60.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.30.54.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|