The NetBSD Project

CVS log for src/sys/uvm/uvm_init.c

[BACK] Up to [] / src / sys / uvm

Request diff between arbitrary revisions

Default branch: MAIN
Current tag: MAIN

Revision 1.55 / (download) - annotate - [select for diffs], Wed Nov 4 01:30:19 2020 UTC (10 months, 3 weeks ago) by chs
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, HEAD
Changes since 1.54: +5 -2 lines
Diff to previous 1.54 (colored)

In uvmpd_tryownerlock(), if the initial try-lock of the owner lock fails
then rather than do more try-locks and eventually sleep for a tick,
take a hold on the current owner's lock, drop the page interlock,
and acquire the lock that we took the hold on in a blocking fashion.
After we get the lock, check if the lock that we acquired is still
the lock for the owner of the page that we're interested in.
If the owner hasn't changed then can proceed with this page,
otherwise we will skip this page and move on to a different page.
This dramatically reduces the amount of time that the pagedaemon
sleeps trying to get locks, since even 1 tick is an eternity to sleep
in this context and it was easy to trigger that case in practice,
and with this new method the pagedaemon only very rarely actually blocks
to acquire the lock that it wants since the object locks are adaptive,
and when the pagedaemon does block then the amount of time it spends
sleeping will be generally be much less than 1 tick.

Revision 1.54 / (download) - annotate - [select for diffs], Wed Oct 7 17:51:50 2020 UTC (11 months, 3 weeks ago) by chs
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.53: +3 -2 lines
Diff to previous 1.53 (colored)

Add a new, more aggressive allocator for uvm_pglistalloc() to allocate
contiguous physical pages, and try this new allocator if the existing
one fails.  The existing contig allocator only tries to allocate pages
that are already free, which works fine shortly after boot but rarely
works after the system has been up for a while.  The new allocator uses
the pagedaemon to evict pages from memory in the hope that this will
free up a range of pages that satisfies the constraits of the request.
This should help with things like plugging in a USB device, which often
fails for some USB controllers because they can't get contigous memory.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Mar 6 20:46:12 2020 UTC (18 months, 3 weeks ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.52: +3 -5 lines
Diff to previous 1.52 (colored)

Fix a comment.

Revision 1.52 / (download) - annotate - [select for diffs], Fri Dec 27 12:51:57 2019 UTC (21 months ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.51: +2 -3 lines
Diff to previous 1.51 (colored)

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.

Revision 1.51 / (download) - annotate - [select for diffs], Fri Dec 13 20:10:22 2019 UTC (21 months, 2 weeks ago) by ad
Branch: MAIN
Changes since 1.50: +2 -3 lines
Diff to previous 1.50 (colored)

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

Revision 1.50 / (download) - annotate - [select for diffs], Sun Dec 1 14:28:01 2019 UTC (21 months, 4 weeks ago) by ad
Branch: MAIN
Changes since 1.49: +5 -6 lines
Diff to previous 1.49 (colored)

Give each of the page queue locks their own cache line.

Revision 1.49 / (download) - annotate - [select for diffs], Sat May 19 11:39:37 2018 UTC (3 years, 4 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi
Changes since 1.48: +2 -8 lines
Diff to previous 1.48 (colored)

Remove emap support. Unfortunately it never got to state where it would be
used and usable, due to reliability and limited & complicated MD support.

Going forward, we need to concentrate on interface which do not map anything
into kernel in first place (such as direct map or KVA-less I/O), rather
than making those mappings cheaper to do.

Revision 1.48 / (download) - annotate - [select for diffs], Fri Dec 23 07:15:28 2016 UTC (4 years, 9 months ago) by cherry
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-compat-base, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat
Changes since 1.47: +4 -2 lines
Diff to previous 1.47 (colored)

"Make NetBSD great again!"

Introduce uvm_hotplug(9) to the kernel.

Many thanks, in no particular order to:

TNF, for funding the project.

Chuck Silvers - for multiple API reviews and feedback.
Nick Hudson - for testing on multiple architectures and bugfix patches.
Everyone who helped with boot testing.

KeK ( for hosting the primary developers.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Dec 22 12:55:21 2016 UTC (4 years, 9 months ago) by cherry
Branch: MAIN
Changes since 1.46: +13 -2 lines
Diff to previous 1.46 (colored)

Add a new function called uvm_md_init() that can be called at the
appropriate time in the boot path by MD code.

Revision 1.46 / (download) - annotate - [select for diffs], Fri Apr 3 01:03:42 2015 UTC (6 years, 5 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.45: +5 -2 lines
Diff to previous 1.45 (colored)

Initialize P->V tracking for unmanaged device pages in uvm_init.

Conditional on __HAVE_PMAP_PV_TRACK until we add it to all pmaps.

MI part of pmap_pv(9) change proposed on tech-kern:

Revision 1.45 / (download) - annotate - [select for diffs], Tue Jan 29 21:37:04 2013 UTC (8 years, 8 months ago) by para
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base, netbsd-7-base, khorben-n900, agc-symver-base, agc-symver
Branch point for: nick-nhusb, netbsd-7
Changes since 1.44: +6 -7 lines
Diff to previous 1.44 (colored)

improve on comments

Revision 1.44 / (download) - annotate - [select for diffs], Fri Feb 17 23:41:02 2012 UTC (9 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10
Branch point for: tls-maxphys
Changes since 1.43: +5 -5 lines
Diff to previous 1.43 (colored)

Make sure to export uvmexp_* if MODULAR is defined.
Make the uvmexp_page* be a pointer to a const int as well as having the
pointer be const as well.

Revision 1.43 / (download) - annotate - [select for diffs], Sat Jan 28 00:00:06 2012 UTC (9 years, 8 months ago) by rmind
Branch: MAIN
CVS Tags: netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.42: +24 -27 lines
Diff to previous 1.42 (colored)

pool_page_alloc, pool_page_alloc_meta: avoid extra compare, use const.
ffs_mountfs,sys_swapctl: replace memset with kmem_zalloc.
sys_swapctl: move kmem_free outside the lock path.
uvm_init: fix comment, remove pointless numeration of steps.
uvm_map_enter: remove meflagval variable.
Fix some indentation.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Jan 27 19:48:41 2012 UTC (9 years, 8 months ago) by para
Branch: MAIN
Changes since 1.41: +18 -26 lines
Diff to previous 1.41 (colored)

extending vmem(9) to be able to allocated resources for it's own needs.
simplifying uvm_map handling (no special kernel entries anymore no relocking)
make malloc(9) a thin wrapper around kmem(9)
(with private interface for interrupt safety reasons)

releng@ acknowledged

Revision 1.41 / (download) - annotate - [select for diffs], Sun Apr 24 03:56:50 2011 UTC (10 years, 5 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, rmind-uvmplock-nbase, rmind-uvmplock-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.40: +8 -8 lines
Diff to previous 1.40 (colored)

Initialize UVM loaning subsystem a bit later, after kmem(9).
Makes UVMHIST work again.

Revision 1.40 / (download) - annotate - [select for diffs], Sat Apr 23 18:14:12 2011 UTC (10 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.39: +2 -4 lines
Diff to previous 1.39 (colored)

Replace "malloc" in comments, remove unnecessary header inclusions.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Feb 2 15:13:34 2011 UTC (10 years, 7 months ago) by chuck
Branch: MAIN
CVS Tags: uebayasi-xip-base7, bouyer-quota2-nbase, bouyer-quota2-base
Changes since 1.38: +2 -9 lines
Diff to previous 1.38 (colored)

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.

Revision 1.38 / (download) - annotate - [select for diffs], Sun Nov 14 04:31:02 2010 UTC (10 years, 10 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base6, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.37: +1 -1 lines
Diff to previous 1.37 (colored)

Oops.  Fix thinko.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Nov 14 04:25:16 2010 UTC (10 years, 10 months ago) by uebayasi
Branch: MAIN
Changes since 1.36: +8 -2 lines
Diff to previous 1.36 (colored)

Platforms that dynamically set PAGE_{SIZE,MASK,SHIFT}, those values are
saved in struct uvmexp.  Expose only the relevant part for symbol users,
so that they don't need to include the whole uvm(9) API.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:07 2009 UTC (11 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211, jym-xensuspend-nbase
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.35: +2 -3 lines
Diff to previous 1.35 (colored)

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>.

Revision 1.35 / (download) - annotate - [select for diffs], Sun Jun 28 15:18:51 2009 UTC (12 years, 3 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, jymxensuspend-base
Changes since 1.34: +8 -2 lines
Diff to previous 1.34 (colored)

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>.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Oct 18 03:46:22 2008 UTC (12 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jym-xensuspend-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: matt-nb5-mips64, jym-xensuspend
Changes since 1.33: +17 -10 lines
Diff to previous 1.33 (colored)

- Initialize pool subsystem and kmem(9) earlier, when UVM is up enough.
- Remove uao_hashinit() workaround used for anon-objects.
- Replace malloc with kmem.

OK by <yamt>.

Revision 1.33 / (download) - annotate - [select for diffs], Wed Jun 4 15:06:04 2008 UTC (13 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl
Branch point for: haad-dm
Changes since 1.32: +2 -3 lines
Diff to previous 1.32 (colored)

Replace the global vm_page hash with a per vm_object rbtree.
Proposed on tech-kern@.

Revision 1.32 / (download) - annotate - [select for diffs], Mon Jan 28 12:22:47 2008 UTC (13 years, 8 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2
Changes since 1.31: +4 -2 lines
Diff to previous 1.31 (colored)

remove a special allocator for uareas, which is no longer necessary.
use pool_cache instead.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:17 2008 UTC (13 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.30: +10 -3 lines
Diff to previous 1.30 (colored)

Merge vmlocking2 to head.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Nov 14 11:04:08 2007 UTC (13 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.29: +7 -2 lines
Diff to previous 1.29 (colored)

call debug_init earlier.  ie. before malloc is used.

Revision 1.29 / (download) - annotate - [select for diffs], Sat Aug 18 00:21:11 2007 UTC (14 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, nick-csl-alignment-base5, matt-armv6-prevmlocking, jmcneill-base
Branch point for: mjf-devfs, matt-armv6, bouyer-xenamd64
Changes since 1.28: +2 -9 lines
Diff to previous 1.28 (colored)

Make the uarea cache per-CPU and drain in batches of 4.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Jul 21 19:21:54 2007 UTC (14 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: matt-mips64-base, hpcarm-cleanup
Branch point for: matt-mips64, jmcneill-pm
Changes since 1.27: +10 -3 lines
Diff to previous 1.27 (colored)

Merge unobtrusive locking changes from the vmlocking branch.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Jul 9 21:11:36 2007 UTC (14 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.26: +6 -2 lines
Diff to previous 1.26 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.26 / (download) - annotate - [select for diffs], Fri Sep 15 15:51:13 2006 UTC (15 years ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-idlelwp-base8, yamt-idlelwp, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.25: +5 -2 lines
Diff to previous 1.25 (colored)

merge yamt-pdpolicy branch.
	- separate page replacement policy from the rest of kernel
	- implement an alternative replacement policy

Revision 1.25 / (download) - annotate - [select for diffs], Thu May 25 14:27:28 2006 UTC (15 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: newlock2
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

move wait points for kva from upper layers to vm_map.  PR/33185 #1.

XXX there is a concern about interaction with kva fragmentation.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:29 2005 UTC (15 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, peter-altq, elad-kernelauth-base, elad-kernelauth
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, chap-midi
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

merge ktrace-lwp.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Jun 27 02:19:48 2005 UTC (16 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Branch point for: yamt-lazymbuf
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Use ANSI function decls.

Revision 1.22 / (download) - annotate - [select for diffs], Wed May 11 13:02:25 2005 UTC (16 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.21: +9 -9 lines
Diff to previous 1.21 (colored)

allocate anons on-demand, rather than reserving static amount of
them on boot/swapon.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Jan 23 19:02:02 2005 UTC (16 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, kent-audio2-base
Changes since 1.20: +5 -4 lines
Diff to previous 1.20 (colored)

move the call to link_pool_init() to the end of uvm_init().  needed for sun3.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Apr 25 16:42:45 2004 UTC (17 years, 5 months ago) by simonb
Branch: MAIN
CVS Tags: kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: kent-audio2
Changes since 1.19: +3 -4 lines
Diff to previous 1.19 (colored)

Initialise (most) pools from a link set instead of explicit calls
to pool_init.  Untouched pools are ones that either in arch-specific
code, or aren't initialiased during initial system startup.

 Convert struct session, ucred and lockf to pools.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Oct 26 08:05:00 2003 UTC (17 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.18: +5 -5 lines
Diff to previous 1.18 (colored)

update comment - kmem_map is created in kmeminit(), not uvm_km_init()

Revision 1.18 / (download) - annotate - [select for diffs], Sat May 10 21:10:23 2003 UTC (18 years, 4 months ago) by thorpej
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.17: +7 -3 lines
Diff to previous 1.17 (colored)

Back out the following chagne:

There were some side-effects that I didn't anticipate, and fixing them
is proving to be more difficult than I thought, do just eject for now.
Maybe one day we can look at this again.

Fixes PR kern/21517.

Revision 1.17 / (download) - annotate - [select for diffs], Thu May 8 18:13:28 2003 UTC (18 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.16: +5 -9 lines
Diff to previous 1.16 (colored)

Simplify the way the bounds of the managed kernel virtual address
space is advertised to UVM by making virtual_avail and virtual_end
first-class exported variables by UVM.  Machine-dependent code is
responsible for initializing them before main() is called.  Anything
that steals KVA must adjust these variables accordingly.

This reduces the number of instances of this info from 3 to 1, and
simplifies the pmap(9) interface by removing the pmap_virtual_space()
function call, and removing two arguments from pmap_steal_memory().

This also eliminates some kludges such as having to burn kernel_map
entries on space used by the kernel and stolen KVA.

This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code,
this giving MD code greater flexibility over the bounds of the managed
kernel virtual address space if a given port's specific platforms can
vary in this regard (this is especially true of the evb* ports).

Revision 1.16 / (download) - annotate - [select for diffs], Tue Mar 4 06:18:54 2003 UTC (18 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.15: +8 -2 lines
Diff to previous 1.15 (colored)

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
* 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.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Nov 10 07:37:00 2001 UTC (19 years, 10 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, ifpoll-base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, gehenna-devsw, fvdl_fs64_base, eeh-devprop-base, eeh-devprop
Changes since 1.14: +4 -1 lines
Diff to previous 1.14 (colored)

add RCSIDs, and in some cases, slightly cleanup #include order

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jun 27 17:29:23 2000 UTC (21 years, 3 months ago) by mrg
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache, nathanw_sa, kqueue
Changes since 1.13: +1 -4 lines
Diff to previous 1.13 (colored)

remove include of <vm/vm.h>

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jun 26 14:21:18 2000 UTC (21 years, 3 months ago) by mrg
Branch: MAIN
Changes since 1.12: +1 -3 lines
Diff to previous 1.12 (colored)

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.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Mar 29 03:43:34 2000 UTC (21 years, 6 months ago) by simonb
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.11: +1 -2 lines
Diff to previous 1.11 (colored)

Don't need to include <sys/conf.h> here.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Mar 25 18:48:51 1999 UTC (22 years, 6 months ago) by mrg
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase, chs-ubc2-base, chs-ubc2
Branch point for: thorpej_scsipi
Changes since 1.10: +1 -5 lines
Diff to previous 1.10 (colored)

remove now >1 year old pre-release message.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Jan 24 23:53:15 1999 UTC (22 years, 8 months ago) by chuck
Branch: MAIN
Changes since 1.9: +4 -3 lines
Diff to previous 1.9 (colored)

- 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)

Revision 1.9 / (download) - annotate - [select for diffs], Thu Aug 13 02:11:00 1998 UTC (23 years, 1 month ago) by eeh
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

Merge paddr_t changes into the main branch.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Aug 9 22:36:38 1998 UTC (23 years, 1 month ago) by perry
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

bzero->memset, bcopy->memcpy, bcmp->memcmp

Revision 1.7 / (download) - annotate - [select for diffs], Tue May 5 20:51:05 1998 UTC (23 years, 5 months ago) by kleink
Branch: MAIN
CVS Tags: eeh-paddr_t-base
Branch point for: eeh-paddr_t
Changes since 1.6: +1 -4 lines
Diff to previous 1.6 (colored)

Remove inclusions of syscall (and syscall argument) related header files;
we don't need them here.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Mar 9 00:58:57 1998 UTC (23 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.5: +65 -65 lines
Diff to previous 1.5 (colored)


Revision 1.5 / (download) - annotate - [select for diffs], Tue Feb 10 14:12:13 1998 UTC (23 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.4: +1 -3 lines
Diff to previous 1.4 (colored)

- add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Feb 7 11:08:38 1998 UTC (23 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored)

restore rcsids

Revision 1.3 / (download) - annotate - [select for diffs], Sat Feb 7 02:26:46 1998 UTC (23 years, 7 months ago) by chs
Branch: MAIN
Changes since 1.2: +5 -2 lines
Diff to previous 1.2 (colored)

enable paging of kernel_object.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 6 22:31:52 1998 UTC (23 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)

RCS ID police.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Feb 5 06:25:10 1998 UTC (23 years, 7 months ago) by mrg
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>