The NetBSD Project

CVS log for src/sys/uvm/uvm_object.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / uvm

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.40 / (download) - annotate - [select for diffs], Mon Feb 5 21:46:07 2024 UTC (2 months, 1 week ago) by andvar
Branch: MAIN
CVS Tags: HEAD
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

fix various typos in comments.

Revision 1.39 / (download) - annotate - [select for diffs], Fri Aug 14 09:06:15 2020 UTC (3 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, 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-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

centralize calls from UVM to radixtree into a few functions.
in those functions, assert that the object lock is held in
the correct mode.

Revision 1.33.38.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:04 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.33: +14 -9 lines
Diff to previous 1.33 (colored) next main 1.34 (colored)

Merge changes from current as of 20200406

Revision 1.38 / (download) - annotate - [select for diffs], Sat Mar 14 20:45:23 2020 UTC (4 years, 1 month 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.37: +2 -2 lines
Diff to previous 1.37 (colored)

Make uvm_pagemarkdirty() responsible for putting vnodes onto the syncer
work list.  Proposed on tech-kern@.

Revision 1.35.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:11 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.35.2.1: +3 -2 lines
Diff to previous 1.35.2.1 (colored) to branchpoint 1.35 (colored) next main 1.36 (colored)

Sync with head.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Feb 23 15:46:43 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.36: +3 -2 lines
Diff to previous 1.36 (colored)

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.

Revision 1.35.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:38 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.35: +8 -1 lines
Diff to previous 1.35 (colored)

Sync with head.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Jan 15 17:55:45 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1
Changes since 1.35: +8 -1 lines
Diff to previous 1.35 (colored)

Merge from yamt-pagecache (after much testing):

- Reduce unnecessary page scan in putpages esp. when an object has a ton of
  pages cached but only a few of them are dirty.

- Reduce the number of pmap operations by tracking page dirtiness more
  precisely in uvm layer.

Revision 1.35 / (download) - annotate - [select for diffs], Sun Dec 15 21:11:35 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.34: +1 -2 lines
Diff to previous 1.34 (colored)

Merge from yamt-pagecache:

- do gang lookup of pages using radixtree.
- remove now unused uvm_object::uo_memq and vm_page::listq.queue.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Dec 14 17:28:58 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.33: +5 -7 lines
Diff to previous 1.33 (colored)

Merge from yamt-pagecache: use radixtree for page lookup.

rbtree page lookup was introduced during the NetBSD 5.0 development cycle to
bypass lock contention problems with the (then) global page hash, and was a
temporary solution to allow us to make progress.  radixtree is the intended
replacement.

Ok yamt@.

Revision 1.32.2.1 / (download) - annotate - [select for diffs], Thu Nov 22 20:25:21 2012 UTC (11 years, 4 months ago) by riz
Branch: netbsd-6
CVS Tags: 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
Changes since 1.32: +4 -1 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

Pull up following revision(s) (requested by rmind in ticket #694):
	sys/uvm/uvm_aobj.h: revision 1.22
	sys/uvm/uvm_aobj.c: revision 1.117
	sys/uvm/uvm_aobj.c: revision 1.118
	sys/uvm/uvm_aobj.c: revision 1.119
	sys/uvm/uvm_object.h: revision 1.33
- Describe uvm_aobj and the lock order.
- Remove unnecessary uao_dropswap_range1() wrapper.
- KNF.  Sprinkle some __cacheline_aligned.
- Manage anonymous UVM object reference count with atomic ops.
- Fix an old bug of possible lock against oneself (uao_detach_locked() is
  called from uao_swap_off() with uao_list_lock acquired).  Also removes
  the try-lock dance in uao_swap_off(), since the lock order changes.

Revision 1.32.6.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:02:54 2012 UTC (11 years, 4 months ago) by tls
Branch: tls-maxphys
Changes since 1.32: +4 -1 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.31.2.5 / (download) - annotate - [select for diffs], Tue Oct 30 17:23:03 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.31.2.4: +4 -1 lines
Diff to previous 1.31.2.4 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

sync with head

Revision 1.33 / (download) - annotate - [select for diffs], Fri Sep 14 22:20:50 2012 UTC (11 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base-20171202, 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, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, 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, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, 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, nick-nhusb-base, nick-nhusb, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, 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, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, khorben-n900, jdolecek-ncq-base, jdolecek-ncq, isaki-audio2-base, isaki-audio2, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: phil-wifi
Changes since 1.32: +4 -1 lines
Diff to previous 1.32 (colored)

- Manage anonymous UVM object reference count with atomic ops.
- Fix an old bug of possible lock against oneself (uao_detach_locked() is
  called from uao_swap_off() with uao_list_lock acquired).  Also removes
  the try-lock dance in uao_swap_off(), since the lock order changes.

Revision 1.31.2.4 / (download) - annotate - [select for diffs], Wed Aug 1 22:34:14 2012 UTC (11 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.31.2.3: +3 -2 lines
Diff to previous 1.31.2.3 (colored) to branchpoint 1.31 (colored)

- fix integrity sync.
  putpages for integrity sync (fsync, msync with MS_SYNC, etc) should not
  skip pages being written back by other threads.

- adapt to radix tree tag api changes.

Revision 1.31.2.3 / (download) - annotate - [select for diffs], Tue Apr 17 00:09:00 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.31.2.2: +13 -5 lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored)

sync with head

Revision 1.31.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:36:01 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.31: +14 -6 lines
Diff to previous 1.31 (colored) next main 1.32 (colored)

merge to -current.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Jan 28 14:37:35 2012 UTC (12 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, 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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, 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, netbsd-6
Changes since 1.31: +14 -6 lines
Diff to previous 1.31 (colored)

Describe UVM object and explain lock sharing a little.

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Sun Nov 6 22:05:00 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.31.2.1: +2 -3 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored)

remove pg->listq and uobj->memq

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Wed Nov 2 21:54:01 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.31: +8 -4 lines
Diff to previous 1.31 (colored)

page cache related changes

- maintain object pages in radix tree rather than rb tree.
- reduce unnecessary page scan in putpages.  esp. when an object has a ton of
  pages cached but only a few of them are dirty.
- reduce the number of pmap operations by tracking page dirtiness more
  precisely in uvm layer.
- fix nfs commit range tracking.
- fix nfs write clustering.  XXX hack

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:36 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.30: +4 -28 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.31 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:03 2011 UTC (12 years, 10 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.30: +4 -28 lines
Diff to previous 1.30 (colored)

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.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:23 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.29: +1 -8 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

Sync with HEAD.

Revision 1.26.20.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:37 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.26.20.2: +4 -10 lines
Diff to previous 1.26.20.2 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

sync with head

Revision 1.29.4.1 / (download) - annotate - [select for diffs], Tue Feb 8 16:20:07 2011 UTC (13 years, 2 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.29: +1 -8 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

Sync with HEAD

Revision 1.30 / (download) - annotate - [select for diffs], Wed Feb 2 15:13:34 2011 UTC (13 years, 2 months ago) by chuck
Branch: MAIN
CVS Tags: uebayasi-xip-base7, rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: cherry-xenmp
Changes since 1.29: +1 -8 lines
Diff to previous 1.29 (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.29 / (download) - annotate - [select for diffs], Sat Nov 6 12:19:14 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base6, uebayasi-xip-base5, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.28: +2 -1 lines
Diff to previous 1.28 (colored)

Include uvm/uvm_pglist.h for struct pglist.

Revision 1.26.18.2 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:57 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.26.18.1: +2 -2 lines
Diff to previous 1.26.18.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Sync with HEAD (-D20101022).

Revision 1.24.10.2 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:47 2010 UTC (13 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.24.10.1: +3 -3 lines
Diff to previous 1.24.10.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

sync with head

Revision 1.28 / (download) - annotate - [select for diffs], Sat Sep 25 01:42:40 2010 UTC (13 years, 6 months ago) by matt
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, uebayasi-xip-base4, uebayasi-xip-base3
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

Rename rb.h to rbtree.h, as it is more appropriate (c.f. ptree.h).  Also
helps find code that hasn't been updated to use the new rbtree API.

Revision 1.27 / (download) - annotate - [select for diffs], Fri Sep 24 22:51:51 2010 UTC (13 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

Fixes/improvements to RB-tree implementation:
1. Fix inverted node order, so that negative value from comparison operator
   would represent lower (left) node, and positive - higher (right) node.
2. Add an argument (i.e. "context"), passed to comparison operators.
3. Change rb_tree_insert_node() to return a node - either inserted one or
   already existing one.
4. Amend the interface to manipulate the actual object, instead of the
   rb_node (in a similar way as Patricia-tree interface does).
5. Update all RB-tree users accordingly.

XXX: Perhaps rename rb.h to rbtree.h, since cleaning-up..

1-3 address the PR/43488 by Jeremy Huddleston.

Passes RB-tree regression tests.
Reviewed by: matt@, christos@

Revision 1.26.18.1 / (download) - annotate - [select for diffs], Wed Apr 28 08:22:05 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.26: +2 -1 lines
Diff to previous 1.26 (colored)

Don't expose uvm_page.h internal for usual uvm(9) users.

Revision 1.26.20.2 / (download) - annotate - [select for diffs], Mon Apr 26 02:20:59 2010 UTC (13 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.26.20.1: +3 -1 lines
Diff to previous 1.26.20.1 (colored) to branchpoint 1.26 (colored)

Add ubc_purge() and purge/deassociate any related UBC entries during
object (usually, vnode) destruction.  Since locking (and thus object)
is required to enter/remove mappings - object is not allowed anymore
to disappear with any UBC entries left.

From original patch by ad@ with some modifications.

Revision 1.26.20.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:18 2010 UTC (14 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.26: +2 -28 lines
Diff to previous 1.26 (colored)

Change struct uvm_object::vmobjlock to be dynamically allocated with
mutex_obj_alloc().  It allows us to share the locks among UVM objects.

Revision 1.24.10.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:39 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.24: +19 -2 lines
Diff to previous 1.24 (colored)

sync with head.

Revision 1.24.12.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:32:06 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.24: +19 -2 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.24.8.2 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:17 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.24.8.1: +18 -1 lines
Diff to previous 1.24.8.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

sync with head.

Revision 1.24.6.1 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:38 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.24: +19 -2 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Also fix build.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Jun 4 15:06:04 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base10, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, 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-premerge-20091211, 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-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.25: +18 -1 lines
Diff to previous 1.25 (colored)

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

Revision 1.24.8.1 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:54 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

sync with head

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jun 2 16:25:34 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base3
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Use atomics to maintain v_usecount.

Revision 1.22.30.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:33 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.22.30.1: +8 -3 lines
Diff to previous 1.22.30.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with HEAD.

Revision 1.18.2.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:23 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18.2.3: +8 -3 lines
Diff to previous 1.18.2.3 (colored) next main 1.19 (colored)

sync with head

Revision 1.22.24.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:42 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.22: +13 -8 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

sync with HEAD

Revision 1.23.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:41 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.23: +7 -2 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:18 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, 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, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2
Changes since 1.23: +8 -3 lines
Diff to previous 1.23 (colored)

Merge vmlocking2 to head.

Revision 1.22.30.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:46 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.22: +6 -6 lines
Diff to previous 1.22 (colored)

Sync with HEAD.

Revision 1.18.2.3 / (download) - annotate - [select for diffs], Fri Dec 7 17:35:28 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18.2.2: +6 -6 lines
Diff to previous 1.18.2.2 (colored)

sync with head

Revision 1.23.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:04:02 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking2
Changes since 1.23: +8 -3 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.22.22.1 / (download) - annotate - [select for diffs], Mon Dec 3 16:15:25 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.22: +6 -6 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

Sync with HEAD.

Revision 1.23 / (download) - annotate - [select for diffs], Sat Dec 1 10:40:28 2007 UTC (16 years, 4 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
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.22: +5 -5 lines
Diff to previous 1.22 (colored)

constify pagerops.

Revision 1.22.8.2 / (download) - annotate - [select for diffs], Tue Aug 21 11:24:38 2007 UTC (16 years, 7 months ago) by yamt
Branch: vmlocking
Changes since 1.22.8.1: +6 -1 lines
Diff to previous 1.22.8.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

destroy vmobjlock.

Revision 1.22.8.1 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:57 2007 UTC (17 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Pull in the initial set of changes for the vmlocking branch.

Revision 1.18.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:51:05 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18.2.1: +4 -9 lines
Diff to previous 1.18.2.1 (colored)

sync with head.

Revision 1.21.20.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:50 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.21: +4 -9 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

Sync with head.

Revision 1.21.22.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:53 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.21: +4 -9 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

sync with head

Revision 1.22 / (download) - annotate - [select for diffs], Thu Oct 12 10:14:20 2006 UTC (17 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-idlelwp-base8, yamt-idlelwp, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, vmlocking-base, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, 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, mjf-ufs-trans-base, mjf-ufs-trans, matt-nb4-arm-base, matt-nb4-arm, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, jmcneill-base, hpcarm-cleanup, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-devfs, matt-armv6, jmcneill-pm
Changes since 1.21: +4 -9 lines
Diff to previous 1.21 (colored)

move some knowledge about vnode into uvm_vnode.c.

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:12:40 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.18: +18 -1 lines
Diff to previous 1.18 (colored)

sync with head.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:29 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, peter-altq-base, peter-altq, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.20: +1 -1 lines
Diff to previous 1.20 (colored)

merge ktrace-lwp.

Revision 1.16.6.4 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:40 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.16.6.3: +27 -1 lines
Diff to previous 1.16.6.3 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Sync with HEAD. Here we go again...

Revision 1.17.14.1 / (download) - annotate - [select for diffs], Wed Aug 24 18:43:38 2005 UTC (18 years, 7 months ago) by riz
Branch: netbsd-3
CVS Tags: 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
Changes since 1.17: +18 -1 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

Pull up following revision(s) (requested by yamt in ticket #688):
	sys/miscfs/genfs/genfs_vnops.c: revision 1.98 via patch
	sys/ufs/ffs/ffs_vfsops.c: revision 1.165
	sys/ufs/lfs/lfs_extern.h: revision 1.69
	sys/fs/filecorefs/filecore_vfsops.c: revision 1.20
	sys/nfs/nfs_node.c: revision 1.80
	sys/fs/smbfs/smbfs_node.c: revision 1.24
	sys/fs/cd9660/cd9660_vfsops.c: revision 1.24
	sys/fs/msdosfs/msdosfs_denode.c: revision 1.8
	sys/miscfs/genfs/genfs_node.h: revision 1.6
	sys/ufs/lfs/lfs_vfsops.c: revision 1.183
	sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.86
	sys/fs/adosfs/advfsops.c: revision 1.23
	sys/fs/ntfs/ntfs_vfsops.c: revision 1.31
- constify genfs_ops.
- use member designators.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.99 via patch
genfs_getpages: don't forget to put the vnode onto the syncer's work que
ue
even in the case of PGO_LOCKED.

        sys/uvm/uvm_bio.c: revision 1.40
        sys/uvm/uvm_pager.h: revision 1.29
        sys/miscfs/genfs/genfs_vnops.c: revision 1.100 via patch
        sys/ufs/ufs/ufs_inode.c: revision 1.50
- introduce PGO_NOBLOCKALLOC and use it for ubc mapping
  to prevent unnecessary block allocations in the case that
  page size > block size.
- ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than
  VM_PROT_READ.

        sys/uvm/uvm_fault.c: revision 1.96
        sys/miscfs/genfs/genfs_vnops.c: revision 1.101 via patch
        sys/uvm/uvm_object.h: revision 1.19
        sys/miscfs/genfs/genfs_node.h: revision 1.7
ensure that vnodes with dirty pages are always on syncer's queue.
- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by
  setting "wasclean" false when encountering them.
  suggested by Stephan Uphoff in PR/24596 (1).
- genfs_putpages: write protect pages when cleaning out, if
  we're going to take the vnode off the syncer's queue.
  uvm_fault: don't write-map pages unless its vnode is already on
  the syncer's queue.
  fix PR/24596 (3) but in the different way from the suggested fix.
  (to keep our current behaviour, ie. not to require explicit msync.
  discussed on tech-kern@.)
- genfs_putpages: don't mistakenly take a vnode off the queue
  by introducing a generation number in genfs_node.
  genfs_getpages: increment the generation number.
  suggested by Stephan Uphoff in PR/24596 (2).
- add some assertions.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.102 via patch
genfs_putpages: don't bother to clean the vnode unless VONWORKLST.

        sys/ufs/ffs/ffs_vnops.c: revision 1.71
ffs_full_fsync: because VBLK/VCHR can be mmap'ed,
do VOP_PUTPAGES for them as well.

        sys/uvm/uvm_fault.c: revision 1.97
uvm_fault: check a correct object in the case of layered filesystems.
fix PR/30811 from Jukka Salmi.

        sys/uvm/uvm_object.h: revision 1.20
        sys/ufs/ffs/ffs_vfsops.c: revision 1.167
        sys/uvm/uvm_bio.c: revision 1.41
        sys/ufs/ufs/ufs_vnops.c: revision 1.129
        sys/uvm/uvm_mmap.c: revision 1.92
        sys/uvm/uvm_fault.c: revision 1.98
        sys/kern/vfs_subr.c: revision 1.252
        sys/fs/msdosfs/denode.h: revision 1.5
        sys/miscfs/genfs/genfs_vnops.c: revision 1.103 via patch
        sys/fs/msdosfs/msdosfs_denode.c: revision 1.9
        sys/sys/vnode.h: revision 1.141
        sys/ufs/ufs/ufs_inode.c: revision 1.51
        sys/ufs/ufs/ufs_extern.h: revision 1.45 via patch
        sys/miscfs/genfs/genfs_node.h: revision 1.8
        sys/ufs/lfs/lfs_vfsops.c: revision 1.184
        sys/uvm/uvm_pager.h: revision 1.30
        sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.87
update file timestamps for nfsd loaned-read and mmap.
PR/25279.  discussed on tech-kern@.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.104 via patch
don't write-protect wired pages.  pointed by Chuck Silvers.
for now, leave a vnode on the syncer's queue, as suggested by him.

        sys/ufs/ffs/ffs_vnops.c: revision 1.72
revert VCHR part of ffs_vnops.c 1.71.
as VCHR uses the device pager, no point to call VOP_PUTPAGES here.
pointed by Chuck Silvers.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Jul 23 12:18:41 2005 UTC (18 years, 8 months ago) by yamt
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
Changes since 1.19: +14 -1 lines
Diff to previous 1.19 (colored)

update file timestamps for nfsd loaned-read and mmap.
PR/25279.  discussed on tech-kern@.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jul 17 12:27:47 2005 UTC (18 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.18: +5 -1 lines
Diff to previous 1.18 (colored)

ensure that vnodes with dirty pages are always on syncer's queue.

- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by
  setting "wasclean" false when encountering them.
  suggested by Stephan Uphoff in PR/24596 (1).

- genfs_putpages: write protect pages when cleaning out, if
  we're going to take the vnode off the syncer's queue.
  uvm_fault: don't write-map pages unless its vnode is already on
  the syncer's queue.

  fix PR/24596 (3) but in the different way from the suggested fix.
  (to keep our current behaviour, ie. not to require explicit msync.
  discussed on tech-kern@.)

- genfs_putpages: don't mistakenly take a vnode off the queue
  by introducing a generation number in genfs_node.
  genfs_getpages: increment the generation number.
  suggested by Stephan Uphoff in PR/24596 (2).

- add some assertions.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Jun 6 12:09:19 2005 UTC (18 years, 10 months ago) by yamt
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.17: +10 -1 lines
Diff to previous 1.17 (colored)

introduce a macro to initialize uvm_object and use it.

Revision 1.16.6.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:39:29 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.16.6.2: +1 -1 lines
Diff to previous 1.16.6.2 (colored) to branchpoint 1.16 (colored)

Fix the sync with head I botched.

Revision 1.16.6.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:57:12 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.16.6.1: +0 -0 lines
Diff to previous 1.16.6.1 (colored) to branchpoint 1.16 (colored)

Sync with HEAD.

Revision 1.16.6.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:57:07 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.16: +4 -1 lines
Diff to previous 1.16 (colored)

Sync with HEAD

Revision 1.17 / (download) - annotate - [select for diffs], Sat Nov 29 19:06:48 2003 UTC (20 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, 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, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: netbsd-3
Changes since 1.16: +4 -1 lines
Diff to previous 1.16 (colored)

mincore: don't treat an aobj as a device mapping.

Revision 1.12.2.3 / (download) - annotate - [select for diffs], Fri Sep 6 08:50:25 2002 UTC (21 years, 7 months ago) by jdolecek
Branch: kqueue
Changes since 1.12.2.2: +3 -1 lines
Diff to previous 1.12.2.2 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

sync kqueue branch with HEAD

Revision 1.10.2.6 / (download) - annotate - [select for diffs], Thu Aug 1 02:47:08 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.10.2.5: +3 -1 lines
Diff to previous 1.10.2.5 (colored) next main 1.11 (colored)

Catch up to -current.

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Mon Jul 15 10:37:34 2002 UTC (21 years, 9 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.15: +3 -1 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

catch up with -current.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 17:52:18 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.12.2.1: +4 -1 lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored)

catch up with -current on kqueue branch

Revision 1.15.4.1 / (download) - annotate - [select for diffs], Fri Jun 21 00:55:31 2002 UTC (21 years, 10 months ago) by lukem
Branch: netbsd-1-6
CVS Tags: 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
Changes since 1.15: +3 -1 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Pull up revision 1.16 (requested by chs in ticket #329):
count aobj pages (most notably kernel stack pages) as anon pages
for memory usage-balancing purposes.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jun 20 15:05:29 2002 UTC (21 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, fvdl_fs64_base
Branch point for: ktrace-lwp
Changes since 1.15: +3 -1 lines
Diff to previous 1.15 (colored)

count aobj pages (most notably kernel stack pages) as anon pages
for memory usage-balancing purposes.

Revision 1.10.2.5 / (download) - annotate - [select for diffs], Thu Jun 20 03:50:42 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.10.2.4: +4 -1 lines
Diff to previous 1.10.2.4 (colored)

Catch up to -current.

Revision 1.15 / (download) - annotate - [select for diffs], Wed May 15 06:57:50 2002 UTC (21 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: netbsd-1-6-base
Branch point for: netbsd-1-6, gehenna-devsw
Changes since 1.14: +4 -1 lines
Diff to previous 1.14 (colored)

When core dumping a process, don't dump maps backed up by the device pager.
(move the pagerops externs to uvm_object.h and out the C files).

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:42 2002 UTC (22 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.12: +3 -15 lines
Diff to previous 1.12 (colored)

Sync kqueue branch with -current.

Revision 1.10.2.4 / (download) - annotate - [select for diffs], Wed Nov 14 19:19:07 2001 UTC (22 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.10.2.3: +2 -2 lines
Diff to previous 1.10.2.3 (colored)

Catch up to -current.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:55 2001 UTC (22 years, 5 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Oct 30 15:32:05 2001 UTC (22 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, newlock-base, newlock, ifpoll-base, eeh-devprop-base, eeh-devprop
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

- Add a new vnode flag VEXECMAP, which indicates that a vnode has
  executable mappings.  Stop overloading VTEXT for this purpose (VTEXT
  also has another meaning).
- Rename vn_marktext() to vn_markexec(), and use it when executable
  mappings of a vnode are established.
- In places where we want to set VTEXT, set it in v_flag directly, rather
  than making a function call to do this (it no longer makes sense to
  use a function call, since we no longer overload VTEXT with VEXECMAP's
  meaning).

VEXECMAP suggested by Chuq Silvers.

Revision 1.12.4.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:44 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.12: +2 -14 lines
Diff to previous 1.12 (colored) next main 1.13 (colored)

Catch up with -current.

Revision 1.10.2.3 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:16 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.10.2.2: +2 -14 lines
Diff to previous 1.10.2.2 (colored)

Catch up to -current.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:46 2001 UTC (22 years, 7 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Changes since 1.12: +2 -14 lines
Diff to previous 1.12 (colored)

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.

Revision 1.10.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 20:10:38 2001 UTC (22 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.10.2.1: +2 -2 lines
Diff to previous 1.10.2.1 (colored)

Catch up to -current.

Revision 1.12 / (download) - annotate - [select for diffs], Sat May 26 16:32:47 2001 UTC (22 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp, kqueue
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:59:19 2001 UTC (23 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.10: +6 -1 lines
Diff to previous 1.10 (colored)

Catch up with -current.

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 13:32:12 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.8.2.1: +6 -1 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

Sync with HEAD.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Mar 9 01:02:12 2001 UTC (23 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.10: +6 -1 lines
Diff to previous 1.10 (colored)

add UBC memory-usage balancing.  we track the number of pages in use for
each of the basic types (anonymous data, executable image, cached files)
and prevent the pagedaemon from reusing a given page if that would reduce
the count of that type of page below a sysctl-setable minimum threshold.
the thresholds are controlled via three new sysctl tunables:
vm.anonmin, vm.vnodemin, and vm.vtextmin.  these tunables are the
percentages of pageable memory reserved for each usage, and we do not allow
the sum of the minimums to be more than 95% so that there's always some
memory that can be reused.

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:50 2001 UTC (23 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.8: +10 -1 lines
Diff to previous 1.8 (colored)

Sync with HEAD.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Jan 28 22:23:06 2001 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.9: +7 -1 lines
Diff to previous 1.9 (colored)

Put the extern decl of uvm_vnodeops in uvm_object.h

Revision 1.9 / (download) - annotate - [select for diffs], Sun Jan 28 22:14:28 2001 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.8: +4 -1 lines
Diff to previous 1.8 (colored)

Define a UVM_OBJ_IS_VNODE() macro to test if an object is a vnode.

Revision 1.6.4.1 / (download) - annotate - [select for diffs], Mon Jun 21 01:47:21 1999 UTC (24 years, 10 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.6: +17 -2 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync w/ -current.

Revision 1.8 / (download) - annotate - [select for diffs], Tue May 25 20:30:09 1999 UTC (24 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, 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, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase, chs-ubc2-base
Branch point for: thorpej_scsipi
Changes since 1.7: +16 -3 lines
Diff to previous 1.7 (colored)

Define a new kernel object type, "intrsafe", which are used for objects
which can be used in an interrupt context.  Use pmap_kenter*() and
pmap_kremove() only for mappings owned by these objects.

Fixes some locking protocol issues related to MP support, and eliminates
all of the pmap_enter vs. pmap_kremove inconsistencies.

Revision 1.7 / (download) - annotate - [select for diffs], Tue May 25 00:09:01 1999 UTC (24 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.6: +3 -1 lines
Diff to previous 1.6 (colored)

Macro'ize the test for "object is a kernel object".

Revision 1.6 / (download) - annotate - [select for diffs], Thu Mar 25 18:48:53 1999 UTC (25 years ago) by mrg
Branch: MAIN
CVS Tags: 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
Branch point for: chs-ubc2
Changes since 1.5: +1 -5 lines
Diff to previous 1.5 (colored)

remove now >1 year old pre-release message.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Mar 9 00:58:58 1998 UTC (26 years, 1 month ago) by mrg
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, eeh-paddr_t-base, eeh-paddr_t, chs-ubc-base, chs-ubc
Changes since 1.4: +6 -6 lines
Diff to previous 1.4 (colored)

KNF.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Feb 10 02:34:50 1998 UTC (26 years, 2 months ago) by perry
Branch: MAIN
Changes since 1.3: +5 -5 lines
Diff to previous 1.3 (colored)

add/cleanup multiple inclusion protection.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Feb 7 11:09:17 1998 UTC (26 years, 2 months ago) by mrg
Branch: MAIN
Changes since 1.2: +2 -0 lines
Diff to previous 1.2 (colored)

restore rcsids

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 6 22:32:11 1998 UTC (26 years, 2 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.1.1 / (download) - annotate - [select for diffs] (vendor branch), Thu Feb 5 06:25:09 1998 UTC (26 years, 2 months ago) by mrg
Branch: CDC
CVS Tags: uvm980205
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

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

Revision 1.1 / (download) - annotate - [select for diffs], Thu Feb 5 06:25:09 1998 UTC (26 years, 2 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 <webmaster@jp.NetBSD.org>