History log of /src/sys/uvm/uvm.h |
Revision | | Date | Author | Comments |
1.78 |
| 17-Jul-2023 |
riastradh | uvm(9): One rndsource for faults -- not one per CPU.
All relevant state is per-CPU anyway; the only substantive difference this makes is how many entries appear in `rndctl -l' output and what they are called -- formerly the somewhat confusing `cpuN', meaning `page faults on cpuN', and now just `uvmfault'. I don't think there's any real value in being able to enable or disable measurement or counting of page faults on one CPU vs others, so although this could be a minor compatibility change, it's hard to imagine it matters much.
XXX kernel ABI change in struct cpu_info
|
1.77 |
| 17-May-2020 |
ad | - If the hardware provided NUMA info, then use it to decide how to set up the allocator's buckets, instead of doing round robin distribution. There are open questions here but this is better than doing nothing.
- Kernel reserve pages are for the kernel not realtime threads.
|
1.76 |
| 14-Mar-2020 |
ad | Make page waits (WANTED vs BUSY) interlocked by pg->interlock. Gets RW locks out of the equation for sleep/wakeup, and allows observing+waiting for busy pages when holding only a read lock. Proposed on tech-kern.
|
1.75 |
| 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.74 |
| 18-Feb-2020 |
chs | remove the aiodoned thread. I originally added this to provide a thread context for doing page cache iodone work, but since then biodone() has changed to hand off all iodone work to a softint thread, so we no longer need the special-purpose aiodoned thread.
|
1.73 |
| 31-Dec-2019 |
ad | branches: 1.73.2; - Add and use wrapper functions that take and acquire page interlocks, and pairs of page interlocks. Require that the page interlock be held over calls to uvm_pageactivate(), uvm_pagewire() and similar.
- Solve the concurrency problem with page replacement state. Rather than updating the global state synchronously, set an intended state on individual pages (active, inactive, enqueued, dequeued) while holding the page interlock. After the interlock is released put the pages on a 128 entry per-CPU queue for their state changes to be made real in batch. This results in in a ~400 fold decrease in contention on my test system. Proposed on tech-kern but modified to use the page interlock rather than atomics to synchronise as it's much easier to maintain that way, and cheaper.
|
1.72 |
| 27-Dec-2019 |
ad | Nothing uses uvm.cpus any more, and we can do the same with cpu_lookup(), so get rid of it.
|
1.71 |
| 27-Dec-2019 |
ad | Redo the page allocator to perform better, especially on multi-core and multi-socket systems. Proposed on tech-kern. While here:
- add rudimentary NUMA support - needs more work. - remove now unused "listq" from vm_page.
|
1.70 |
| 13-Dec-2019 |
ad | Break the global uvm_pageqlock into a per-page identity lock and a private lock for use of the pagedaemon policy code. Discussed on tech-kern.
PR kern/54209: NetBSD 8 large memory performance extremely low PR kern/54210: NetBSD-8 processes presumably not exiting PR kern/54727: writing a large file causes unreasonable system behaviour
|
1.69 |
| 01-Dec-2019 |
ad | - Adjust uvmexp.swpgonly with atomics, and make uvm_swap_data_lock static. - A bit more __cacheline_aligned on mutexes.
|
1.68 |
| 02-Jan-2017 |
cherry | branches: 1.68.16; Move sys/uvm/uvm_physseg.h inclusion to within _KERNEL only.
|
1.67 |
| 22-Dec-2016 |
cherry | Use uvm_physseg.h:uvm_page_physload() instead of uvm_extern.h
For this, include uvm_physseg.h in the build and include tree, make a cosmetic modification to the prototype for uvm_page_physload().
|
1.66 |
| 13-Apr-2015 |
riastradh | branches: 1.66.2; Limit <sys/rndsource.h> include to kernel.
|
1.65 |
| 13-Apr-2015 |
riastradh | Convert remaining MI <sys/rnd.h> stragglers. Many MD ones left.
|
1.64 |
| 10-Aug-2014 |
tls | branches: 1.64.4; Merge tls-earlyentropy branch into HEAD.
|
1.63 |
| 02-Feb-2012 |
tls | branches: 1.63.6; 1.63.20; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
1.62 |
| 17-May-2011 |
mrg | branches: 1.62.4; 1.62.8; move and rename the uvm history code out of uvm_stat to "kernhist".
rename "UVMHIST" option to enable the uvm histories.
TODO: - make UVMHIST properly depend upon KERNHIST - enable dynamic registration of histories. this is mostly just allocating something in a bitmap, and is only for viewing multiple histories in a merged form.
tested on amd64 and sparc64.
|
1.61 |
| 02-Feb-2011 |
chuck | 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.60 |
| 02-Feb-2011 |
chuck | 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.59 |
| 09-Dec-2010 |
uebayasi | branches: 1.59.2; 1.59.4; Make UVM_PAGE_TRKOWN a real flag.
|
1.58 |
| 25-Apr-2010 |
ad | Reduce memory spent on bookkeeping for large values of MAXCPUS.
|
1.57 |
| 21-Oct-2009 |
rmind | branches: 1.57.2; 1.57.4; Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases.
Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>).
Discussed on <tech-kern>, reviewed by <ad>.
|
1.56 |
| 28-Jun-2009 |
rmind | Ephemeral mapping (emap) implementation. Concept is based on the idea that activity of other threads will perform the TLB flush for the processes using emap as a side effect. To track that, global and per-CPU generation numbers are used. This idea was suggested by Andrew Doran; various improvements to it by me. Notes:
- For now, zero-copy on pipe is not yet enabled. - TCP socket code would likely need more work. - Additional UVM loaning improvements are needed.
Proposed on <tech-kern>, silence there. Quickly reviewed by <ad>.
|
1.55 |
| 04-Jun-2008 |
ad | branches: 1.55.12; 1.55.16; Replace the global vm_page hash with a per vm_object rbtree. Proposed on tech-kern@.
|
1.54 |
| 04-Jun-2008 |
ad | - vm_page: put listq, pageq into a union alongside a LIST_ENTRY, so we can use both types of list.
- Make page coloring and idle zero state per-CPU.
- Maintain per-CPU page freelists. When freeing, put pages onto the local CPU's lists and the global lists. When allocating, prefer to take pages from the local CPU. If none are available take from the global list as done now. Proposed on tech-kern@.
|
1.53 |
| 02-Jan-2008 |
ad | branches: 1.53.6; 1.53.8; 1.53.10; 1.53.12; Merge vmlocking2 to head.
|
1.52 |
| 21-Jul-2007 |
ad | branches: 1.52.6; 1.52.12; 1.52.14; 1.52.18; 1.52.22; Merge unobtrusive locking changes from the vmlocking branch.
|
1.51 |
| 09-Jul-2007 |
ad | branches: 1.51.2; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.50 |
| 15-Jun-2007 |
ad | Add a sysctl to disable swapout of kernel stacks. Discussed on tech-kern@.
|
1.49 |
| 21-Feb-2007 |
thorpej | branches: 1.49.4; 1.49.6; Pick up some additional files that were missed before due to conflicts with newlock2 merge:
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.48 |
| 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.47 |
| 19-Feb-2007 |
ad | uvm_kick_scheduler(): do nothing until the swap subsystem is initialized.
|
1.46 |
| 15-Feb-2007 |
ad | branches: 1.46.2; Add uvm_kick_scheduler() (MP safe) to replace wakeup(&proc0).
|
1.45 |
| 21-Dec-2006 |
yamt | merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - complete workqueue(9) and fix its ipl problem, which is reported to cause audio skipping. - fix netbt (at least compilation problems) for some ports. - fix PR/33218.
|
1.44 |
| 15-Sep-2006 |
yamt | branches: 1.44.2; merge yamt-pdpolicy branch. - separate page replacement policy from the rest of kernel - implement an alternative replacement policy
|
1.43 |
| 11-Feb-2006 |
yamt | branches: 1.43.2; 1.43.14; remove the following options. no objections on tech-kern@.
UVM_PAGER_INLINE UVM_AMAP_INLINE UVM_PAGE_INLINE UVM_MAP_INLINE
|
1.42 |
| 29-Nov-2005 |
yamt | branches: 1.42.2; 1.42.4; 1.42.6; read-ahead statistics.
|
1.41 |
| 30-Oct-2005 |
yamt | branches: 1.41.2; don't include uvm_*_i.h unless needed, to reduce bogus header dependencies.
|
1.40 |
| 11-May-2005 |
yamt | branches: 1.40.2; 1.40.4; allocate anons on-demand, rather than reserving static amount of them on boot/swapon.
|
1.39 |
| 01-Jan-2005 |
yamt | for in-kernel maps, - allocate kva for vm_map_entry from the map itsself and remove the static limit, MAX_KMAPENT. - keep merged entries for later splitting to fix allocate-to-free problem. PR/24039.
|
1.38 |
| 23-Nov-2004 |
yamt | introduce UVMHIST_LOANHIST and sprinkle UVMHIST_LOGs.
|
1.37 |
| 10-Feb-2004 |
matt | Back out the changes in http://mail-index.netbsd.org/source-changes/2004/01/29/0027.html since they don't really fix the problem.
Incorpate one fix: Mark uvm_map_entry's that were created with UVM_FLAG_NOMERGE so that they will not be used as future merge candidates.
|
1.36 |
| 29-Jan-2004 |
yamt | - split uvm_map() into two functions for the followings. - for in-kernel maps, disable map entry merging so that unmap operations won't block. (workaround for PR/24039) - for in-kernel maps, allocate kva for vm_map_entry from the map itsself and eliminate MAX_KMAPENT and uvm_map_entry_kmem_pool.
|
1.35 |
| 01-Dec-2002 |
matt | branches: 1.35.6; Reorder things so that with multiple inclusion protection that optional definitions are outside the protection checks.
|
1.34 |
| 02-Nov-2002 |
perry | gah. reversed a test.
|
1.33 |
| 02-Nov-2002 |
perry | /*CONTCOND*/, and protect UVMHIST_DECL with #ifdef UVMHIST
|
1.32 |
| 15-Sep-2002 |
thorpej | Protect "struct uvm" with _KERNEL.
|
1.31 |
| 15-Sep-2001 |
chs | branches: 1.31.6; 1.31.12; a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps. this is required now, since I've removed the globals that expose the address range. pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's no longer any need to special-case it. - eliminate struct uvm_vnode by moving its fields into struct vnode. - rewrite the pageout path. the pager is now responsible for handling the high-level requests instead of only getting control after a bunch of work has already been done on its behalf. this will allow us to UBCify LFS, which needs tighter control over its pages than other filesystems do. writing a page to disk no longer requires making it read-only, which allows us to write wired pages without causing all kinds of havoc. - use a new PG_PAGEOUT flag to indicate that a page should be freed on behalf of the pagedaemon when it's unlocked. this flag is very similar to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the pageout fails due to eg. an indirect-block buffer being locked. this allows us to remove the "version" field from struct vm_page, and together with shrinking "loan_count" from 32 bits to 16, struct vm_page is now 4 bytes smaller. - no longer use PG_RELEASED for swap-backed pages. if the page is busy because it's being paged out, we can't release the swap slot to be reallocated until that write is complete, but unlike with vnodes we don't keep a count of in-progress writes so there's no good way to know when the write is done. instead, when we need to free a busy swap-backed page, just sleep until we can get it busy ourselves. - implement a fast-path for extending writes which allows us to avoid zeroing new pages. this substantially reduces cpu usage. - encapsulate the data used by the genfs code in a struct genfs_node, which must be the first element of the filesystem-specific vnode data for filesystems which use genfs_{get,put}pages(). - eliminate many of the UVM pagerops, since they aren't needed anymore now that the pager "put" operation is a higher-level operation. - enhance the genfs code to allow NFS to use the genfs_{get,put}pages instead of a modified copy. - clean up struct vnode by removing all the fields that used to be used by the vfs_cluster.c code (which we don't use anymore with UBC). - remove kmem_object and mb_object since they were useless. instead of allocating pages to these objects, we now just allocate pages with no object. such pages are mapped in the kernel until they are freed, so we can use the mapping to find the page to free it. this allows us to remove splvm() protection in several places.
The sum of all these changes improves write throughput on my decstation 5000/200 to within 1% of the rate of NetBSD 1.5 and reduces the elapsed time for "make release" of a NetBSD 1.5 source tree on my 128MB pc to 10% less than a 1.5 kernel took.
|
1.30 |
| 27-Jun-2001 |
thorpej | branches: 1.30.2; 1.30.4; Macro'ize the code that checks the free and inactive thresholds and wakes the pagedaemon.
|
1.29 |
| 02-Jun-2001 |
chs | replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
|
1.28 |
| 30-May-2001 |
mrg | use _KERNEL_OPT
|
1.27 |
| 26-May-2001 |
chs | replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
|
1.26 |
| 22-May-2001 |
ross | Merge the swap-backed and object-backed inactive lists.
|
1.25 |
| 29-Apr-2001 |
thorpej | Implement page coloring, using a round-robin bucket selection algorithm (Solaris calls this "Bin Hopping").
This implementation currently relies on MD code to define a constant defining the number of buckets. This will change reasonably soon (MD code will be able to dynamically size the bucket array).
|
1.24 |
| 27-Nov-2000 |
chs | branches: 1.24.2; Initial integration of the Unified Buffer Cache project.
|
1.23 |
| 26-Jun-2000 |
mrg | remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h> <vm/vm_inherit.h> -> <uvm/uvm_inherit.h> <vm/vm_kern.h> -> into <uvm/uvm_extern.h> <vm/vm_object.h> -> nothing <vm/vm_pager.h> -> into <uvm/uvm_pager.h>
also includes a bunch of <vm/vm_page.h> include removals (due to redudancy with <vm/vm.h>), and a scattering of other similar headers.
|
1.22 |
| 08-Jun-2000 |
thorpej | Change UVM_UNLOCK_AND_WAIT() to use ltsleep() (it is now atomic, as advertised). Garbage-collect uvm_sleep().
|
1.21 |
| 24-Apr-2000 |
thorpej | branches: 1.21.2; Changes necessary to implement pre-zero'ing of pages in the idle loop: - Make page free lists have two actual queues: known-zero pages and pages with unknown contents. - Implement uvm_pageidlezero(). This function attempts to zero up to the target number of pages until the target has been reached (currently target is `all free pages') or until whichqs becomes non-zero (indicating that a process is ready to run). - Define a new hook for the pmap module for pre-zero'ing pages. This is used to zero the pages using uncached access. This allows us to zero as many pages as we want without polluting the cache.
In order to use this feature, each platform must add the appropropriate glue in their idle loop.
|
1.20 |
| 10-Apr-2000 |
chs | tidy.
|
1.19 |
| 02-Apr-2000 |
thorpej | Instead of checking vm_physmem[<physseg>].pgs to determine if uvm_page_init() has completed, add a boolean uvm.page_init_done, and test against that. Use this same boolean (rather than pmap_initialized) in pmap_growkernel() to determine if we are being called via uvm_page_init() to grow the kernel address space.
This fixes a problem on some i386 configurations where pmap_init() itself was needing to have the kernel page table grown, and since pmap_initialized was not yet set to TRUE, pmap_growkernel() was choosing the wrong code path.
Fix tested by Havard Eidnes.
|
1.18 |
| 13-Nov-1999 |
thorpej | Always pass all arguments to uvm_sleep().
|
1.17 |
| 22-Jul-1999 |
thorpej | branches: 1.17.2; 1.17.4; 1.17.8; Garbage collect thread_sleep()/thread_wakeup() left over from the old Mach VM code. Also nuke iprintf(), which was no longer used anywhere.
Add proclist locking where appropriate.
|
1.16 |
| 21-Jun-1999 |
thorpej | Protect prototypes, certain macros, and inlines from userland.
|
1.15 |
| 26-Mar-1999 |
chs | branches: 1.15.2; 1.15.4; add uvmexp.swpgonly and use it to detect out-of-swap conditions.
|
1.14 |
| 25-Mar-1999 |
mrg | remove now >1 year old pre-release message.
|
1.13 |
| 11-Oct-1998 |
chuck | branches: 1.13.2; remove unused share map code from UVM: dump UVM_ET_MAP/UVM_ET_ISMAP. if you need to detect a submap use UVM_ET_SUBMAP/UVM_ET_ISSUBMAP.
|
1.12 |
| 24-Sep-1998 |
thorpej | NCPU > 1 -> MULTIPROCESSOR
|
1.11 |
| 13-Aug-1998 |
eeh | Merge paddr_t changes into the main branch.
|
1.10 |
| 08-Jul-1998 |
thorpej | branches: 1.10.2; Add support for multiple memory free lists. There is at least one default free list, and 0 - N additional free list, in order of descending priority.
A new page allocation function, uvm_pagealloc_strat(), has been added, providing three page allocation strategies:
- normal: high -> low priority free list walk, taking the page off the first free list that has one.
- only: attempt to allocate a page only from the specified free list, failing if that free list has none available.
- fallback: if `only' fails, fall back on `normal'.
uvm_pagealloc(...) is provided for normal use (and is a synonym for uvm_pagealloc_strat(..., UVM_PGA_STRAT_NORMAL, 0); the free list argument is ignored for the `normal' case).
uvm_page_physload() now specified which free list the pages will be loaded onto. This means that some platforms which have multiple physical memory segments may define additional vm_physsegs if they wish to break individual physical segments into differing priorities.
Machine-dependent code must define _at least_ the following constants in <machine/vmparam.h>:
VM_NFREELIST: the number of free lists the system will have
VM_FREELIST_DEFAULT: the default freelist (should always be 0, but is defined in machdep code so that it's with all of the other free list-related constants).
Additional free list names may be defined by machine-dependent code, but they will only be used by machine-dependent code (e.g. for loading the vm_physsegs).
|
1.9 |
| 04-Jul-1998 |
pk | Shield `#include opt_*.h'.
|
1.8 |
| 20-May-1998 |
thorpej | defopt LOCKDEBUG
|
1.7 |
| 18-May-1998 |
pk | No dummy locks if LOCKDEBUG.
|
1.6 |
| 01-Mar-1998 |
fvdl | Merge with Lite2 + local changes
|
1.5 |
| 10-Feb-1998 |
mrg | - add defopt's for UVM, UVMHIST and PMAP_NEW. - remove unnecessary UVMHIST_DECL's.
|
1.4 |
| 10-Feb-1998 |
perry | 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.10.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.13.2.3 |
| 09-Apr-1999 |
chs | add globals for aiodone daemon.
|
1.13.2.2 |
| 25-Feb-1999 |
chs | declare ubchist here instead of in all the files that use it.
|
1.13.2.1 |
| 09-Nov-1998 |
chs | initial snapshot. lots left to do.
|
1.15.4.6 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.15.4.5 |
| 31-Jul-1999 |
chs | remove duplicate uvmhist decls.
|
1.15.4.4 |
| 04-Jul-1999 |
chs | uvm.aio_done is now a TAILQ of struct buf rather than struct uvm_aiodesc.
|
1.15.4.3 |
| 02-Jul-1999 |
thorpej | Fix merge botch.
|
1.15.4.2 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
1.15.4.1 |
| 07-Jun-1999 |
chs | merge everything from chs-ubc branch.
|
1.15.2.1 |
| 26-Apr-2000 |
he | Pull up revision 1.19 (requested by thorpej): Use a more reliable method to determine if uvm_page_init() has completed. This fixes a problem observed on some i386 configs (typically with lots of memory) where the kernel page table needs to grow during initialization.
|
1.17.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.17.4.1 |
| 15-Nov-1999 |
fvdl | Sync with -current
|
1.17.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.17.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.21.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.24.2.8 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.24.2.7 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.24.2.6 |
| 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.24.2.5 |
| 16-Jul-2002 |
nathanw | pagedaemon_proc really should be a proc, not a LWP.
|
1.24.2.4 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.24.2.3 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.24.2.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.24.2.1 |
| 05-Mar-2001 |
nathanw | Initial commit of scheduler activations and lightweight process support.
|
1.30.4.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.30.2.2 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.30.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.31.12.1 |
| 15-Jun-2003 |
tron | Pull up revision 1.32 (requested by cjep in ticket #1240): Protect "struct uvm" with _KERNEL.
|
1.31.6.6 |
| 12-Mar-2002 |
thorpej | Make hashlock an adaptive mutex, and rename it to hash_mutex.
|
1.31.6.5 |
| 12-Mar-2002 |
thorpej | Make afreelock an adaptive mutex, and rename it to afree_mutex.
|
1.31.6.4 |
| 12-Mar-2002 |
thorpej | Make kentry_lock a spin mutex at IPL_VM, and rename it to kentry_mutex.
|
1.31.6.3 |
| 12-Mar-2002 |
thorpej | Make pageqlock an adaptive mutex, and rename it to pageq_mutex.
|
1.31.6.2 |
| 12-Mar-2002 |
thorpej | Convert the fpageqlock to a spin mutex at IPL_VM and rename it to fpageq_mutex.
|
1.31.6.1 |
| 11-Mar-2002 |
thorpej | Convert swap_syscall_lock and uvm.swap_data_lock to adaptive mutexes, and rename them apporpriately.
|
1.35.6.7 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.35.6.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.35.6.5 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.35.6.4 |
| 29-Nov-2004 |
skrll | Sync with HEAD.
|
1.35.6.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.35.6.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.35.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.40.4.1 |
| 02-Nov-2005 |
yamt | sync with head.
|
1.40.2.5 |
| 21-Jan-2008 |
yamt | sync with head
|
1.40.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.40.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.40.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.40.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.41.2.1 |
| 29-Nov-2005 |
yamt | sync with head.
|
1.42.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.42.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.42.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.43.14.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.43.14.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.43.2.2 |
| 15-Sep-2006 |
yamt | make UVM_KICK_PDAEMON() a real function and stop including uvm_pdpolicy.h from uvm.h. this also fixes build of pmap(1).
|
1.43.2.1 |
| 05-Mar-2006 |
yamt | separate page replacement policy from the rest of kernel.
|
1.44.2.1 |
| 22-Oct-2006 |
yamt | use workqueue for aiodoned.
|
1.46.2.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.49.6.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.49.4.5 |
| 21-Aug-2007 |
yamt | fix some races around pagedaemon and uvm_wait. ok'ed by Andrew Doran.
|
1.49.4.4 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.49.4.3 |
| 28-Apr-2007 |
ad | Split uvm_hashlock into an array of 32 locks.
|
1.49.4.2 |
| 09-Apr-2007 |
ad | - Add two new arguments to kthread_create1: pri_t pri, bool mpsafe. - Fork kthreads off proc0 as new LWPs, not new processes.
|
1.49.4.1 |
| 13-Mar-2007 |
ad | Pull in the initial set of changes for the vmlocking branch.
|
1.51.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.52.22.2 |
| 21-Jul-2007 |
ad | Merge unobtrusive locking changes from the vmlocking branch.
|
1.52.22.1 |
| 21-Jul-2007 |
ad | file uvm.h was added on branch matt-mips64 on 2007-07-21 19:21:54 +0000
|
1.52.18.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.52.14.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.52.12.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.52.6.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.53.12.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.53.10.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.53.10.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.53.10.2 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.53.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.53.8.1 |
| 17-Jun-2008 |
yamt | sync with head.
|
1.53.6.1 |
| 05-Jun-2008 |
mjf | Sync with HEAD.
Also fix build.
|
1.55.16.4 |
| 29-Feb-2012 |
matt | Improve UVM_PAGE_TRKOWN. Add more asserts to uvm_page.
|
1.55.16.3 |
| 09-Feb-2012 |
matt | Major changes to uvm. Support multiple collections (groups) of free pages and run the page reclaimation algorithm on each group independently.
|
1.55.16.2 |
| 03-Jun-2011 |
matt | Restore $NetBSD$
|
1.55.16.1 |
| 03-Jun-2011 |
matt | Rework page free lists to be sorted by color first rather than free_list. Kept per color PGFL_* counter in each page free list. Minor cleanups.
|
1.55.12.1 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.57.4.3 |
| 31-May-2011 |
rmind | sync with head
|
1.57.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.57.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.57.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.59.4.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.59.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.62.8.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.62.4.5 |
| 17-Apr-2012 |
yamt | sync with head
|
1.62.4.4 |
| 26-Dec-2011 |
yamt | - use O->A loan to serve read(2). based on a patch from Chuck Silvers - associated O->A loan fixes.
|
1.62.4.3 |
| 20-Nov-2011 |
yamt | - fix page loaning XXX make O->A loaning further - add some statistics
|
1.62.4.2 |
| 12-Nov-2011 |
yamt | redo the page clean/dirty/unknown accounting separately for file and anonymous pages
|
1.62.4.1 |
| 11-Nov-2011 |
yamt | - track the number of clean/dirty/unknown pages in the system. - g/c PG_MARKER
|
1.63.20.1 |
| 07-Apr-2014 |
tls | Be a little more clear and consistent about harvesting entropy from devices:
1) deprecate RND_FLAG_NO_ESTIMATE
2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE
3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE
4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME| RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME
5) Make entropy harvesting from environmental sensors a little more generic and remove it from individual sensor drivers.
6) Remove individual open-coded delta-estimators for values from a few places in the tree (uvm, environmental drivers).
7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers that had stubbed out code, other minor cleanups.
|
1.63.6.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.63.6.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.64.4.2 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.64.4.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.66.2.1 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.68.16.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.73.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|