Home | History | Annotate | Download | only in uvm
History log of /src/sys/uvm/uvm_loan.h
RevisionDateAuthorComments
 1.17  02-Feb-2011  chuck branches: 1.17.4;
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.16  02-Feb-2010  uebayasi branches: 1.16.4; 1.16.6; 1.16.8;
Don't pass an unnecessary reference to uvm_loanbreak_anon().

Requested by rmind@.
 1.15  02-Feb-2010  uebayasi Move A->K loan break code to uvm_loan.c.
 1.14  11-Dec-2005  christos branches: 1.14.74;
merge ktrace-lwp.
 1.13  24-Mar-2004  junyoung Nuke __P().
 1.12  07-Jan-2004  yamt - get pages to loan out in uvm_loanuobjpages() rather than
having caller (nfsd, in this case) do so.
- tweak locking so that nfs loaned READ works on layered filesystems.
 1.11  03-May-2003  yamt branches: 1.11.2;
- export raw page loan out routine as uvm_loanuobjpages. (for nfsd)
- put code for loan-breaking into a function, uvm_loanbreak.
 1.10  04-Mar-2003  thorpej Fix the following pathological scanario:
* User allocates ZFOD region, but does not actually touch the buffer
to fault in the pages.
* In a loop, user writes this buffer to a network socket, triggering
sosend_loan().
* uvm_loan() calls uvm_loanzero() once for each page in the loaned
region (since the pages have not yet faulted in). This causes a
page to be allocated and zero'd. The result is the kernel spends
a lot of time allocating and zero'ing pages.

This fixes creates a special object which owns a single zero'd page.
This single zero'd page is used to satisfy all loans of non-resident
ZFOD mappings.

Thanks to Allen Briggs for discovering the problem and for providing
an initial patch.
 1.9  06-Nov-2001  chs several changes prompted by loaning problems:
- fix the loaned case in uvm_pagefree().
- redo uvmexp.swpgonly accounting to work with page loaning.
add an assertion before each place we adjust uvmexp.swpgonly.
- fix uvm_km_pgremove() to always free any swap space associated with
the range being removed.
- get rid of UVM_LOAN_WIRED flag. instead, we just make sure that
pages loaned to the kernel are never on the page queues.
this allows us to assert that pages are not loaned and wired
at the same time.
- add yet more assertions.
 1.8  22-Sep-2001  jdolecek branches: 1.8.2;
add new UVM_LOAN_WIRED flag - the memory pages loaned in TOPAGE case
are only wired if this flag is present (i.e. they are not wired by default now)
loaned pages are unloaned via new uvm_unloan(), uvm_unloananon() and
uvm_unloanpage() are no longer exported
adjust uvm_unloanpage() to unwire the pages if UVM_LOAN_WIRED is specified
mark uvm_loanuobj() and uvm_loanzero() static also in function implementation

kern/sys_pipe.c: uvm_unloanpage() --> uvm_unloan()
 1.7  21-Jun-1999  thorpej branches: 1.7.14; 1.7.16; 1.7.18;
Protect prototypes, certain macros, and inlines from userland.
 1.6  25-Mar-1999  mrg branches: 1.6.4;
remove now >1 year old pre-release message.
 1.5  13-Aug-1998  eeh Merge paddr_t changes into the main branch.
 1.4  10-Feb-1998  perry branches: 1.4.2;
add/cleanup multiple inclusion protection.
 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.4.2.1  30-Jul-1998  eeh Split vm_offset_t and vm_size_t into paddr_t, psize_t, vaddr_t, and vsize_t.
 1.6.4.1  01-Jul-1999  thorpej Sync w/ -current.
 1.7.18.1  01-Oct-2001  fvdl Catch up with -current.
 1.7.16.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.7.14.2  14-Nov-2001  nathanw Catch up to -current.
 1.7.14.1  26-Sep-2001  nathanw Catch up to -current.
Again.
 1.8.2.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.11.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1  03-Aug-2004  skrll Sync with HEAD
 1.14.74.1  11-Mar-2010  yamt sync with head
 1.16.8.1  08-Feb-2011  bouyer Sync with HEAD
 1.16.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.16.4.1  05-Mar-2011  rmind sync with head
 1.17.4.2  25-Jan-2012  yamt uvm_loanabj: take an access pattern hint.
 1.17.4.1  26-Dec-2011  yamt - use O->A loan to serve read(2). based on a patch from Chuck Silvers
- associated O->A loan fixes.

RSS XML Feed