The NetBSD Project

CVS log for src/sys/rump/librump/rumpkern/vm.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / rump / librump / rumpkern

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.197: download - view: text, markup, annotated - select for diffs
Sun Sep 24 09:33:26 2023 UTC (14 months, 2 weeks ago) by martin
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.196: preferred, colored
Changes since revision 1.196: +5 -7 lines
PR kern/57626: instead of an (arbitrary) FAKE_PAGE_SHIFT (and always
using 4k pages), query the hypervisor for the real page size of the host
kernel and use that for architectures that do not have compile time
constant page sizes.

Revision 1.196: download - view: text, markup, annotated - select for diffs
Sat Apr 22 13:53:53 2023 UTC (19 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.195: preferred, colored
Changes since revision 1.195: +130 -2 lines
rump: Move ubc_uiomove, ubc_zerorange from rumpvfs to rumpkern.

Needed by kern_ksyms.c.  We could split kern_ksyms.c up into kernel-
internal interfaces and the user/kernel /dev/ksyms interface, but
there's nothing vfs-specific about ubc_uiomove and ubc_zerorange
anyway, so let's just define them in rumpkern.

Revision 1.195: download - view: text, markup, annotated - select for diffs
Sat Apr 22 13:53:37 2023 UTC (19 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.194: preferred, colored
Changes since revision 1.194: +6 -2 lines
rumpkern: Provide stub uvm_vnodeops weak alias.

Needed for UVM_OBJ_IS_VNODE, but not for anything else in rumpkern
without rumpvfs.

Revision 1.194: download - view: text, markup, annotated - select for diffs
Wed Oct 26 23:22:07 2022 UTC (2 years, 1 month ago) by riastradh
Branches: MAIN
CVS tags: 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
Diff to: previous 1.193: preferred, colored
Changes since revision 1.193: +3 -3 lines
sys/*: Get module_map consistently from sys/module.h.

Revision 1.193: download - view: text, markup, annotated - select for diffs
Sun Aug 21 10:18:20 2022 UTC (2 years, 3 months ago) by riastradh
Branches: MAIN
CVS tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Diff to: previous 1.192: preferred, colored
Changes since revision 1.192: +15 -2 lines
rumpkern: Abusing struct pmap internals now requires extra effort.

(as it should)

Revision 1.192: download - view: text, markup, annotated - select for diffs
Thu Sep 16 21:29:42 2021 UTC (3 years, 2 months ago) by andvar
Branches: MAIN
Diff to: previous 1.191: preferred, colored
Changes since revision 1.191: +3 -3 lines
fix typos in word "successfully", mainly s/succesfully/successfully/.

Revision 1.173.14.1: download - view: text, markup, annotated - select for diffs
Tue Jul 6 04:22:34 2021 UTC (3 years, 5 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-4-RELEASE, netbsd-9-3-RELEASE
Diff to: previous 1.173: preferred, colored; next MAIN 1.174: preferred, colored
Changes since revision 1.173: +35 -8 lines
Pull up following revision(s) - all via patch -
(requested by riastradh in ticket #1317):

	sys/uvm/uvm_page.c: revision 1.248
	sys/uvm/uvm_anon.c: revision 1.80
	sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.40
	sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.41
	sys/rump/librump/rumpkern/vm.c: revision 1.191
	sys/uvm/uvm_pager.c: revision 1.130
	external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.71
	tests/rump/rumpkern/t_vm.c: revision 1.5
	tests/rump/rumpkern/t_vm.c: revision 1.6
	sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.39

Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
handle this flag separately.  Split out the pages part of uvm_aio_aiodone()
into uvm_aio_aiodone_pages() in rump just like in the real kernel.

In ZFS functions that can fail to copy data between the ARC and VM pages,
use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
handle these "I/O" errors.  Fixes PR 55702.

fix an incorrect assertion in the previous commit.

Handle PG_PAGEOUT in uvm_anon_release() too.

Commit the ZFS file that I forgot in this previous commit:

Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
handle this flag separately.  Split out the pages part of uvm_aio_aiodone()
into uvm_aio_aiodone_pages() in rump just like in the real kernel.

In ZFS functions that can fail to copy data between the ARC and VM pages,
use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
handle these "I/O" errors.  Fixes PR 55702.
update the rump copy of uvm_page_unbusy() to match the real version,
in particular handle PG_PAGEOUT.  fixes a few atf tests.
the busypage test is buggy, expect it to fail.

make rump's uvm_aio_aiodone_pages() look more like the kernel version.
fixes some more rumpy assertions.

for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip()
because atf apparently has no way to expect a test program to crash.
fixes PR 55945.

Revision 1.190.2.1: download - view: text, markup, annotated - select for diffs
Mon Dec 14 14:38:16 2020 UTC (3 years, 11 months ago) by thorpej
Branches: thorpej-futex
Diff to: previous 1.190: preferred, colored; next MAIN 1.191: preferred, colored
Changes since revision 1.190: +30 -5 lines
Sync w/ HEAD.

Revision 1.191: download - view: text, markup, annotated - select for diffs
Sat Dec 5 19:08:50 2020 UTC (4 years ago) by chs
Branches: 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
Diff to: previous 1.190: preferred, colored
Changes since revision 1.190: +30 -5 lines
update the rump copy of uvm_page_unbusy() to match the real version,
in particular handle PG_PAGEOUT.  fixes a few atf tests.

Revision 1.190: download - view: text, markup, annotated - select for diffs
Thu Jun 11 19:20:46 2020 UTC (4 years, 6 months ago) by ad
Branches: MAIN
Branch point for: thorpej-futex
Diff to: previous 1.189: preferred, colored
Changes since revision 1.189: +3 -3 lines
uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched.  It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.

Revision 1.189: download - view: text, markup, annotated - select for diffs
Sat Jun 6 22:31:40 2020 UTC (4 years, 6 months ago) by ad
Branches: MAIN
Diff to: previous 1.188: preferred, colored
Changes since revision 1.188: +3 -3 lines
Correction to previous - set VI_PAGES correctly.

Revision 1.188: download - view: text, markup, annotated - select for diffs
Wed Jun 3 22:25:49 2020 UTC (4 years, 6 months ago) by ad
Branches: MAIN
Diff to: previous 1.187: preferred, colored
Changes since revision 1.187: +20 -42 lines
PR kern/55032 (rump/rumpkern/t_vm:uvmwait test case now fails)

Work around issues with rump's pagedaemon emulation, including one that's
sensitive to timing effects (i.e. scheduler changes).  While here tidy up
some other stuff around the emulation of page alloc/free.

Revision 1.173.10.1: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:09:01 2020 UTC (4 years, 8 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.173: preferred, colored; next MAIN 1.174: preferred, colored
Changes since revision 1.173: +138 -94 lines
Merge changes from current as of 20200406

Revision 1.187: download - view: text, markup, annotated - select for diffs
Tue Mar 17 18:31:38 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Diff to: previous 1.186: preferred, colored
Changes since revision 1.186: +5 -6 lines
Tweak the March 14th change to make page waits interlocked by pg->interlock.
Remove unneeded changes and only deal with the PQ_WANTED flag, to exclude
possible bugs.

Revision 1.186: download - view: text, markup, annotated - select for diffs
Sat Mar 14 20:23:51 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
Diff to: previous 1.185: preferred, colored
Changes since revision 1.185: +40 -8 lines
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.

Revision 1.185: download - view: text, markup, annotated - select for diffs
Sat Mar 14 19:54:06 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
Diff to: previous 1.184: preferred, colored
Changes since revision 1.184: +20 -7 lines
rump - page/object dirtyness tracking corrections.

Revision 1.182.2.2: download - view: text, markup, annotated - select for diffs
Sat Feb 29 20:21:09 2020 UTC (4 years, 9 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.182.2.1: preferred, colored; branchpoint 1.182: preferred, colored; next MAIN 1.183: preferred, colored
Changes since revision 1.182.2.1: +17 -30 lines
Sync with head.

Revision 1.184: download - view: text, markup, annotated - select for diffs
Sun Feb 23 15:46:42 2020 UTC (4 years, 9 months ago) by ad
Branches: MAIN
CVS tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Diff to: previous 1.183: preferred, colored
Changes since revision 1.183: +17 -30 lines
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.182.2.1: download - view: text, markup, annotated - select for diffs
Fri Jan 17 21:47:37 2020 UTC (4 years, 10 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.182: preferred, colored
Changes since revision 1.182: +3 -3 lines
Sync with head.

Revision 1.183: download - view: text, markup, annotated - select for diffs
Wed Jan 15 17:55:44 2020 UTC (4 years, 10 months ago) by ad
Branches: MAIN
CVS tags: ad-namecache-base2, ad-namecache-base1
Diff to: previous 1.182: preferred, colored
Changes since revision 1.182: +3 -3 lines
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.182: download - view: text, markup, annotated - select for diffs
Sun Jan 5 15:57:15 2020 UTC (4 years, 11 months ago) by para
Branches: MAIN
CVS tags: ad-namecache-base
Branch point for: ad-namecache
Diff to: previous 1.181: preferred, colored
Changes since revision 1.181: +2 -12 lines
remove unused predicate function

likely unused since kmem changes

Revision 1.181: download - view: text, markup, annotated - select for diffs
Thu Jan 2 16:56:58 2020 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.180: preferred, colored
Changes since revision 1.180: +4 -2 lines
rump: initialize pg->interlock

Revision 1.180: download - view: text, markup, annotated - select for diffs
Tue Dec 31 23:32:05 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.179: preferred, colored
Changes since revision 1.179: +37 -2 lines
Fix rump.

Revision 1.179: download - view: text, markup, annotated - select for diffs
Tue Dec 31 13:07:13 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.178: preferred, colored
Changes since revision 1.178: +3 -3 lines
Rename uvm_free() -> uvm_availmem().

Revision 1.178: download - view: text, markup, annotated - select for diffs
Tue Dec 31 12:40:27 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.177: preferred, colored
Changes since revision 1.177: +4 -4 lines
Rename uvm_page_locked_p() -> uvm_page_owner_locked_p()

Revision 1.177: download - view: text, markup, annotated - select for diffs
Sat Dec 21 12:59:12 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.176: preferred, colored
Changes since revision 1.176: +9 -2 lines
Add uvm_free(): returns number of free pages in system.

Revision 1.176: download - view: text, markup, annotated - select for diffs
Sun Dec 15 21:11:35 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.175: preferred, colored
Changes since revision 1.175: +2 -5 lines
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.175: download - view: text, markup, annotated - select for diffs
Sat Dec 14 17:28:58 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.174: preferred, colored
Changes since revision 1.174: +14 -33 lines
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.174: download - view: text, markup, annotated - select for diffs
Fri Dec 13 20:10:21 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.173: preferred, colored
Changes since revision 1.173: +13 -12 lines
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.130.2.5: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:39:16 2017 UTC (7 years ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.130.2.4: preferred, colored; branchpoint 1.130: preferred, colored; next MAIN 1.131: preferred, colored
Changes since revision 1.130.2.4: +66 -27 lines
update from HEAD

Revision 1.159.4.6: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:53:15 2017 UTC (7 years, 3 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.159.4.5: preferred, colored; branchpoint 1.159: preferred, colored; next MAIN 1.160: preferred, colored
Changes since revision 1.159.4.5: +27 -2 lines
Sync with HEAD

Revision 1.170.6.2: download - view: text, markup, annotated - select for diffs
Fri May 19 00:22:58 2017 UTC (7 years, 6 months ago) by pgoyette
Branches: prg-localcount2
Diff to: previous 1.170.6.1: preferred, colored; branchpoint 1.170: preferred, colored; next MAIN 1.171: preferred, colored
Changes since revision 1.170.6.1: +9 -2 lines
Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)

Revision 1.173: download - view: text, markup, annotated - select for diffs
Sun May 14 13:49:55 2017 UTC (7 years, 6 months ago) by nat
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, prg-localcount2-base3, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, 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, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-8-base, netbsd-8-3-RELEASE, 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, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi, netbsd-9
Diff to: previous 1.172: preferred, colored
Changes since revision 1.172: +9 -2 lines
Add uvm_map_pageable dummy function.  This means that the audio tests
should run again.

Ok christos@.

Revision 1.170.6.1: download - view: text, markup, annotated - select for diffs
Thu May 11 02:58:41 2017 UTC (7 years, 7 months ago) by pgoyette
Branches: prg-localcount2
Diff to: previous 1.170: preferred, colored
Changes since revision 1.170: +20 -2 lines
Sync with HEAD

Revision 1.172: download - view: text, markup, annotated - select for diffs
Sun May 7 14:20:50 2017 UTC (7 years, 7 months ago) by martin
Branches: MAIN
CVS tags: prg-localcount2-base2
Diff to: previous 1.171: preferred, colored
Changes since revision 1.171: +11 -3 lines
Provide stupid uvm_map() and uvm_unmap1() immplementations - might be enough
to get audio tests in rump going again.
XXX needs a RUMP chef to review/replace by something sane!

Revision 1.171: download - view: text, markup, annotated - select for diffs
Sun May 7 11:48:39 2017 UTC (7 years, 7 months ago) by martin
Branches: MAIN
Diff to: previous 1.170: preferred, colored
Changes since revision 1.170: +12 -2 lines
Add a dummy (non-working) uvm_map().
XXX someone with a clue please fix this for real!

Revision 1.159.4.5: download - view: text, markup, annotated - select for diffs
Wed Oct 5 20:56:10 2016 UTC (8 years, 2 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.159.4.4: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.4.4: +8 -2 lines
Sync with HEAD

Revision 1.169.2.1: download - view: text, markup, annotated - select for diffs
Tue Jul 26 03:24:24 2016 UTC (8 years, 4 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.169: preferred, colored; next MAIN 1.170: preferred, colored
Changes since revision 1.169: +8 -2 lines
Sync with HEAD

Revision 1.170: download - view: text, markup, annotated - select for diffs
Wed Jul 20 17:03:50 2016 UTC (8 years, 4 months ago) by christos
Branches: MAIN
CVS tags: prg-localcount2-base1, prg-localcount2-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: prg-localcount2
Diff to: previous 1.169: preferred, colored
Changes since revision 1.169: +8 -2 lines
add uvm_km_protect()

Revision 1.159.4.4: download - view: text, markup, annotated - select for diffs
Sat Mar 19 11:30:37 2016 UTC (8 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.159.4.3: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.4.3: +6 -6 lines
Sync with HEAD

Revision 1.169: download - view: text, markup, annotated - select for diffs
Tue Jan 26 23:12:18 2016 UTC (8 years, 10 months ago) by pooka
Branches: MAIN
CVS tags: pgoyette-localcount-base, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319
Branch point for: pgoyette-localcount
Diff to: previous 1.168: preferred, colored
Changes since revision 1.168: +6 -6 lines
Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories.  Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.

Revision 1.159.4.3: download - view: text, markup, annotated - select for diffs
Sun Dec 27 12:10:16 2015 UTC (8 years, 11 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.159.4.2: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.4.2: +3 -3 lines
Sync with HEAD (as of 26th Dec)

Revision 1.168: download - view: text, markup, annotated - select for diffs
Thu Nov 26 15:13:43 2015 UTC (9 years ago) by martin
Branches: MAIN
CVS tags: nick-nhusb-base-20151226
Diff to: previous 1.167: preferred, colored
Changes since revision 1.167: +3 -3 lines
Adapt to e_default_mapaddr signature changes

Revision 1.159.4.2: download - view: text, markup, annotated - select for diffs
Sat Jun 6 14:40:29 2015 UTC (9 years, 6 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.159.4.1: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.4.1: +12 -10 lines
Sync with HEAD

Revision 1.167: download - view: text, markup, annotated - select for diffs
Tue Jun 2 14:07:48 2015 UTC (9 years, 6 months ago) by pooka
Branches: MAIN
CVS tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606
Diff to: previous 1.166: preferred, colored
Changes since revision 1.166: +3 -3 lines
In case pagedaemon can't release any more memory, use kpause() instead
of cv_timedwait() on the pagedaemon condvar -- it's no use constantly
waking the pagedaemon up for new memory allocation attempts, as will
happen e.g. if new network connections are constantly pouring in.

Revision 1.166: download - view: text, markup, annotated - select for diffs
Sat Apr 18 15:49:18 2015 UTC (9 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.165: preferred, colored
Changes since revision 1.165: +3 -3 lines
Give remote clients struct pmap storage.  Although the pmap is unused,
that way we can sure that the pmap macro framework doesn't access all
the wrong places.

Revision 1.165: download - view: text, markup, annotated - select for diffs
Fri Apr 17 12:46:33 2015 UTC (9 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.164: preferred, colored
Changes since revision 1.164: +2 -4 lines
g/c rump_vmmap

No recollection what it was used for; didn't seem to be used even when
it was originally added 5th August 2007.

Revision 1.164: download - view: text, markup, annotated - select for diffs
Fri Apr 17 12:43:16 2015 UTC (9 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.163: preferred, colored
Changes since revision 1.163: +7 -3 lines
Give the kernel/local pmaps actual storage.

That way friendly neighborhood macros won't go scribbling
in the wrong places.

Revision 1.159.4.1: download - view: text, markup, annotated - select for diffs
Mon Apr 6 15:18:30 2015 UTC (9 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.159: preferred, colored
Changes since revision 1.159: +27 -21 lines
Sync with HEAD

Revision 1.163: download - view: text, markup, annotated - select for diffs
Fri Apr 3 16:46:39 2015 UTC (9 years, 8 months ago) by pooka
Branches: MAIN
CVS tags: nick-nhusb-base-20150406
Diff to: previous 1.162: preferred, colored
Changes since revision 1.162: +3 -3 lines
Use RUMP_PMAP_KERNEL and RUMP_PMAP_LOCAL to denote
kernel and local client pmaps, respectively.

Revision 1.162: download - view: text, markup, annotated - select for diffs
Fri Apr 3 16:40:55 2015 UTC (9 years, 8 months ago) by pooka
Branches: MAIN
Diff to: previous 1.161: preferred, colored
Changes since revision 1.161: +10 -3 lines
Use a different vmspace for rump kernel proc0 and local clients.
While the rump kernel and local clients are by definition in the same
host vmspace, there are subtle differences in how in-kernel code works
in case accessing the kernel vmspace or a user process vmspace.

Problem discovered by riastradh's "read(fd, NULL, 1)" test.

Revision 1.161: download - view: text, markup, annotated - select for diffs
Sat Jan 3 17:23:51 2015 UTC (9 years, 11 months ago) by pooka
Branches: MAIN
Diff to: previous 1.160: preferred, colored
Changes since revision 1.160: +3 -3 lines
Put all sysproxy routines to their own C module, sysproxy.c

Revision 1.159.2.1: download - view: text, markup, annotated - select for diffs
Wed Dec 31 06:44:00 2014 UTC (9 years, 11 months ago) by snj
Branches: netbsd-7
CVS tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, 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
Diff to: previous 1.159: preferred, colored; next MAIN 1.160: preferred, colored
Changes since revision 1.159: +19 -20 lines
Pull up following revision(s) (requested by chs in ticket #363):
	common/lib/libprop/prop_kern.c: revision 1.18
	sys/arch/mac68k/dev/grf_compat.c: revision 1.27
	sys/arch/x68k/dev/grf.c: revision 1.45
	sys/external/bsd/drm/dist/bsd-core/drm_bufs.c: revision 1.12
	sys/external/bsd/drm2/drm/drm_drv.c: revision 1.12
	sys/external/bsd/drm2/drm/drm_vm.c: revision 1.6
	sys/external/bsd/drm2/include/linux/mm.h: revision 1.4
	sys/kern/vfs_vnops.c: revision 1.192 via patch
	sys/rump/librump/rumpkern/vm.c: revision 1.160
	sys/sys/file.h: revision 1.78 via patch
	sys/uvm/uvm_device.c: revision 1.64
	sys/uvm/uvm_device.h: revision 1.13
	sys/uvm/uvm_extern.h: revision 1.192
	sys/uvm/uvm_mmap.c: revision 1.150 via patch
add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for
mappings of file objects.  move vnode-specific details of mmap()ing a vnode
from uvm_mmap() to the new vnode-specific vn_mmap().  add new uvm_mmap_dev()
and uvm_mmap_anon() convenience functions for mapping character devices
and anonymous memory, and replace all other calls to uvm_mmap() with those.
use the new fileop in drm2 so that libdrm can use mmap() to map things
like on other platforms (instead of the ioctl that we have used so far).

Revision 1.160: download - view: text, markup, annotated - select for diffs
Sun Dec 14 23:48:58 2014 UTC (9 years, 11 months ago) by chs
Branches: MAIN
Diff to: previous 1.159: preferred, colored
Changes since revision 1.159: +19 -20 lines
add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for
mappings of file objects.  move vnode-specific details of mmap()ing a vnode
from uvm_mmap() to the new vnode-specific vn_mmap().  add new uvm_mmap_dev()
and uvm_mmap_anon() convenience functions for mapping character devices
and anonymous memory, and replace all other calls to uvm_mmap() with those.
use the new fileop in drm2 so that libdrm can use mmap() to map things
like on other platforms (instead of the ioctl that we have used so far).

Revision 1.130.2.4: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:04:41 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.130.2.3: preferred, colored; branchpoint 1.130: preferred, colored
Changes since revision 1.130.2.3: +75 -26 lines
Rebase to HEAD as of a few days ago.

Revision 1.152.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 10 06:56:51 2014 UTC (10 years, 4 months ago) by tls
Branches: tls-earlyentropy
Diff to: previous 1.152: preferred, colored; next MAIN 1.153: preferred, colored
Changes since revision 1.152: +56 -14 lines
Rebase.

Revision 1.159: download - view: text, markup, annotated - select for diffs
Sun Jun 15 12:58:01 2014 UTC (10 years, 5 months ago) by pooka
Branches: MAIN
CVS tags: tls-maxphys-base, tls-earlyentropy-base, nick-nhusb-base, netbsd-7-base
Branch point for: nick-nhusb, netbsd-7
Diff to: previous 1.158: preferred, colored
Changes since revision 1.158: +11 -5 lines
update comment

Revision 1.158: download - view: text, markup, annotated - select for diffs
Fri Jun 13 11:53:48 2014 UTC (10 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +9 -5 lines
make sure we don't underflow the memlimit

Revision 1.157: download - view: text, markup, annotated - select for diffs
Fri Jun 13 11:48:56 2014 UTC (10 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +21 -7 lines
fill in a few more uvmexp entries

Revision 1.120.2.10: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:15 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.9: preferred, colored; branchpoint 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120.2.9: +78 -58 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.144.4.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:46:18 2014 UTC (10 years, 6 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.144: preferred, colored; next MAIN 1.145: preferred, colored
Changes since revision 1.144: +48 -23 lines
sync with head

Revision 1.156: download - view: text, markup, annotated - select for diffs
Fri Apr 25 13:20:45 2014 UTC (10 years, 7 months ago) by pooka
Branches: MAIN
CVS tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +3 -4 lines
Init function pointers to nullop() so that callers don't need a dance

Revision 1.155: download - view: text, markup, annotated - select for diffs
Sat Apr 12 20:24:46 2014 UTC (10 years, 8 months ago) by pooka
Branches: MAIN
Diff to: previous 1.154: preferred, colored
Changes since revision 1.154: +5 -2 lines
apparently DFLSSIZ isn't defined on powerpc, so pull a value out of el stetson

Revision 1.154: download - view: text, markup, annotated - select for diffs
Thu Apr 10 22:14:03 2014 UTC (10 years, 8 months ago) by pooka
Branches: MAIN
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +4 -3 lines
Pretend that we have slightly more reasonable stack size limits.
(we don't have stacks, that's why we pretend)

Revision 1.153: download - view: text, markup, annotated - select for diffs
Wed Apr 9 23:53:36 2014 UTC (10 years, 8 months ago) by pooka
Branches: MAIN
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +17 -2 lines
implement lwp_create() and a few related interfaces.
main raison d'impalerment: the aio driver

Revision 1.152: download - view: text, markup, annotated - select for diffs
Tue Mar 11 20:32:05 2014 UTC (10 years, 9 months ago) by pooka
Branches: MAIN
CVS tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Diff to: previous 1.151: preferred, colored
Changes since revision 1.151: +7 -3 lines
kill undesirable #ifndef _RUMPKERNEL

Revision 1.151: download - view: text, markup, annotated - select for diffs
Tue Mar 11 20:22:47 2014 UTC (10 years, 9 months ago) by pooka
Branches: MAIN
Diff to: previous 1.150: preferred, colored
Changes since revision 1.150: +2 -12 lines
deduplicate uvm_object_printit() implementation

Revision 1.150: download - view: text, markup, annotated - select for diffs
Mon Mar 3 16:50:28 2014 UTC (10 years, 9 months ago) by pooka
Branches: MAIN
Diff to: previous 1.149: preferred, colored
Changes since revision 1.149: +6 -5 lines
Fix the memory limiter to work for non-pagedaemon threads again

reported by njoly

Revision 1.149: download - view: text, markup, annotated - select for diffs
Tue Feb 18 06:18:13 2014 UTC (10 years, 9 months ago) by pooka
Branches: MAIN
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +2 -7 lines
Use same uvm_swap_shutdown() stub for !vmswap kernels and rump kernels.

Revision 1.148: download - view: text, markup, annotated - select for diffs
Mon Feb 17 19:43:52 2014 UTC (10 years, 9 months ago) by pooka
Branches: MAIN
Diff to: previous 1.147: preferred, colored
Changes since revision 1.147: +5 -5 lines
simply issue a warning if <1MB RAM configured.  it might work, but
not going to start enumerating when and where it might.

Revision 1.147: download - view: text, markup, annotated - select for diffs
Mon Feb 17 19:33:05 2014 UTC (10 years, 9 months ago) by pooka
Branches: MAIN
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +18 -7 lines
reserve a small amount of memory for the pagedaemon

Revision 1.41.8.3: download - view: text, markup, annotated - select for diffs
Thu Dec 19 01:20:41 2013 UTC (10 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.41.8.2: preferred, colored; branchpoint 1.41: preferred, colored; next MAIN 1.42: preferred, colored
Changes since revision 1.41.8.2: +2 -1 lines
Adapt to new uvm_estimatepageable arguments

Revision 1.146: download - view: text, markup, annotated - select for diffs
Sat Nov 23 22:24:31 2013 UTC (11 years ago) by christos
Branches: MAIN
Diff to: previous 1.145: preferred, colored
Changes since revision 1.145: +7 -2 lines
add a copy of uvm_swap_shutdown() here so that it is not undefined when we
use it.

Revision 1.145: download - view: text, markup, annotated - select for diffs
Thu Nov 14 12:07:11 2013 UTC (11 years ago) by martin
Branches: MAIN
Diff to: previous 1.144: preferred, colored
Changes since revision 1.144: +4 -3 lines
As discussed on tech-kern: make TOPDOWN-VM runtime selectable per process
(offer MD code or emulations to override it).

Revision 1.130.2.3: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:20:28 2013 UTC (11 years, 5 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.130.2.2: preferred, colored; branchpoint 1.130: preferred, colored
Changes since revision 1.130.2.2: +31 -35 lines
resync from head

Revision 1.144: download - view: text, markup, annotated - select for diffs
Tue Apr 30 16:03:44 2013 UTC (11 years, 7 months ago) by pooka
Branches: MAIN
CVS tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900
Branch point for: rmind-smpnet
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +3 -3 lines
Flip parameter order in the clock hypercalls to make them consistent
with everything else wrt in/out parameters.

Revision 1.143: download - view: text, markup, annotated - select for diffs
Tue Apr 30 00:29:19 2013 UTC (11 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.142: preferred, colored
Changes since revision 1.142: +3 -3 lines
add missing demogorgon

Revision 1.142: download - view: text, markup, annotated - select for diffs
Tue Apr 30 00:03:53 2013 UTC (11 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +11 -10 lines
Make hypercall calling conventions consistent: iff a hypercall can fail,
it returns an int containing the error value.

Revision 1.141: download - view: text, markup, annotated - select for diffs
Mon Apr 29 17:31:05 2013 UTC (11 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.140: preferred, colored
Changes since revision 1.140: +3 -4 lines
Replace the various "get info from hypervisor" interfaces with one
unified rumpuser_getparam(), and make it return a plist.  The
contents can come e.g. from the env or a config file.  Make
identifiers starting with an underscore denote system identifiers
which must be implemented by hypervisor. (yea, j/k about the plist bit)

Revision 1.140: download - view: text, markup, annotated - select for diffs
Sun Apr 28 23:21:00 2013 UTC (11 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.139: preferred, colored
Changes since revision 1.139: +6 -6 lines
Appearances count: spell "IPL_NONE" correctly.

Revision 1.139: download - view: text, markup, annotated - select for diffs
Sun Apr 28 13:17:25 2013 UTC (11 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +3 -7 lines
Improve the time-related hypercalls so that's it's possible to
sleep until an absolute time on the host's monotonic clock (should
something like that be supported).

Revision 1.138: download - view: text, markup, annotated - select for diffs
Sat Apr 27 15:34:53 2013 UTC (11 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.137: preferred, colored
Changes since revision 1.137: +4 -4 lines
* treat kern_malloc.c as an unreal allocator (it's so lightweight)
* get rid of the rumpuser_realloc() hypercall
* pass size to rumpuser_free()

Revision 1.137: download - view: text, markup, annotated - select for diffs
Sun Mar 10 17:05:12 2013 UTC (11 years, 9 months ago) by pooka
Branches: MAIN
CVS tags: agc-symver-base, agc-symver
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +2 -4 lines
Use kern_malloc.c instead of the relegated allocators in memalloc.c.
Previously this didn't make sense due to the use of kmem_map, but the
new malloc is more dynamic and puts sense into using it.

Revision 1.136: download - view: text, markup, annotated - select for diffs
Wed Mar 6 11:42:18 2013 UTC (11 years, 9 months ago) by yamt
Branches: MAIN
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +14 -12 lines
simplify code
add a comment

Revision 1.130.2.2: download - view: text, markup, annotated - select for diffs
Mon Feb 25 00:30:09 2013 UTC (11 years, 9 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.130.2.1: preferred, colored; branchpoint 1.130: preferred, colored
Changes since revision 1.130.2.1: +5 -5 lines
resync with head

Revision 1.135: download - view: text, markup, annotated - select for diffs
Tue Jan 29 21:26:24 2013 UTC (11 years, 10 months ago) by para
Branches: MAIN
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +3 -4 lines
make vmem(9) ready to be used early during bootstrap to replace extent(9)
pass memory for vmem structs into the initialization function and
do away with the static pool of vmem structs.
remove special bootstrapping of the quantum cache pools of the kmem_va_arena
as memory for pool_caches is allocated via pool_allocator_meta which is
fully operational at this point.

Revision 1.134: download - view: text, markup, annotated - select for diffs
Sat Jan 26 15:18:01 2013 UTC (11 years, 10 months ago) by para
Branches: MAIN
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +2 -1 lines
revert previous commit not yet fully functional, sorry

Revision 1.133: download - view: text, markup, annotated - select for diffs
Sat Jan 26 13:50:33 2013 UTC (11 years, 10 months ago) by para
Branches: MAIN
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +3 -4 lines
make vmem(9) ready to be used early during bootstrap to replace extent(9).
pass memory for vmem structs into the initialization functions and
do away with the static pools for this.
factor out the vmem internal structures into a private header.
remove special bootstrapping of the kmem_va_arena as all necessary memory
comes from pool_allocator_meta wich is fully operational at this point.

Revision 1.120.2.9: download - view: text, markup, annotated - select for diffs
Wed Jan 23 00:06:29 2013 UTC (11 years, 10 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.120.2.8: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.8: +4 -3 lines
sync with head

Revision 1.120.2.8: download - view: text, markup, annotated - select for diffs
Wed Jan 16 05:33:52 2013 UTC (11 years, 10 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.7: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.7: +2 -4 lines
sync with (a bit old) head

Revision 1.132: download - view: text, markup, annotated - select for diffs
Mon Jan 14 16:45:47 2013 UTC (11 years, 10 months ago) by pooka
Branches: MAIN
CVS tags: yamt-pagecache-base8
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +4 -3 lines
Don't use __weak_alias where the component framework is sufficient.

Revision 1.130.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 20 03:02:50 2012 UTC (12 years ago) by tls
Branches: tls-maxphys
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +2 -4 lines
Resync to 2012-11-19 00:00:00 UTC

Revision 1.131: download - view: text, markup, annotated - select for diffs
Tue Nov 13 20:10:02 2012 UTC (12 years ago) by pooka
Branches: MAIN
CVS tags: yamt-pagecache-base7
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +2 -4 lines
kill some -Wunused-but-set-variable warnings

Revision 1.120.2.7: download - view: text, markup, annotated - select for diffs
Fri Nov 2 08:19:04 2012 UTC (12 years, 1 month ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.6: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.6: +2 -14 lines
fix a merge botch

Revision 1.120.2.6: download - view: text, markup, annotated - select for diffs
Tue Oct 30 17:22:54 2012 UTC (12 years, 1 month ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.5: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.5: +40 -21 lines
sync with head

Revision 1.130: download - view: text, markup, annotated - select for diffs
Fri Jul 27 09:06:01 2012 UTC (12 years, 4 months ago) by pooka
Branches: MAIN
CVS tags: yamt-pagecache-base6
Branch point for: tls-maxphys
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +20 -9 lines
Use mmap hypercall for memory allocation only when absolutely necessary
(map == module_map).  Otherwise, use the malloc hypercall.  This avoids
relying on the platform's mmap() to be able to return arbitrarily
alignment memory.

Revision 1.129: download - view: text, markup, annotated - select for diffs
Fri Jul 20 09:20:05 2012 UTC (12 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +4 -4 lines
Make it possible to select between real and unreal allocators from
make.  Plus some gratuitous renaming.

Revision 1.128: download - view: text, markup, annotated - select for diffs
Fri Jul 20 09:11:33 2012 UTC (12 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +5 -2 lines
make unreal allocators work again

Revision 1.127: download - view: text, markup, annotated - select for diffs
Tue Jun 5 22:51:47 2012 UTC (12 years, 6 months ago) by jym
Branches: MAIN
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +9 -14 lines
Now that pool_cache_invalidate() is synchronous and can handle per-CPU
caches, merge together pool_drain_start() and pool_drain_end() into

bool pool_drain(struct pool **ppp);

"bool" value indicates whether reclaiming was fully done (true) or not (false)
"ppp" will contain a pointer to the pool that was drained (optional).

See http://mail-index.netbsd.org/tech-kern/2012/06/04/msg013287.html

Revision 1.120.6.5: download - view: text, markup, annotated - select for diffs
Sat Jun 2 11:09:39 2012 UTC (12 years, 6 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.120.6.4: preferred, colored; branchpoint 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120.6.4: +10 -0 lines
sync to latest -current.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Wed May 23 14:59:21 2012 UTC (12 years, 6 months ago) by martin
Branches: MAIN
CVS tags: jmcneill-usbmp-base10
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +12 -2 lines
Recently uvm_page_locked_p() leaked outside of uvm/MD code, so rump
needs to provide one.

Revision 1.120.2.5: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:08:49 2012 UTC (12 years, 7 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.4: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.4: +39 -75 lines
sync with head

Revision 1.120.6.4: download - view: text, markup, annotated - select for diffs
Thu Apr 5 21:33:49 2012 UTC (12 years, 8 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.120.6.3: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.6.3: +2 -3 lines
sync to latest -current.

Revision 1.122.2.2: download - view: text, markup, annotated - select for diffs
Tue Apr 3 16:14:02 2012 UTC (12 years, 8 months ago) by riz
Branches: 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, 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
Diff to: previous 1.122.2.1: preferred, colored; branchpoint 1.122: preferred, colored; next MAIN 1.123: preferred, colored
Changes since revision 1.122.2.1: +1 -1 lines
Pull up following revision(s) (requested by para in ticket #155):
	sys/kern/subr_vmem.c: revision 1.73
	sys/kern/subr_kmem.c: revision 1.43
	sys/rump/librump/rumpkern/vm.c: revision 1.124
make accounting for vm_inuse sane
while here don't statically allocated for more caches then required
adjust rump for static pool_cache count
should have went in with subr_vmem 1.73
don't overallocated once we leave the caches

Revision 1.122.2.1: download - view: text, markup, annotated - select for diffs
Sun Mar 25 11:29:59 2012 UTC (12 years, 8 months ago) by bouyer
Branches: netbsd-6
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +2 -3 lines
Pull up following revision(s) (requested by hannken in ticket #141):
	tests/rump/rumpkern/t_vm.c: revision 1.3
	sys/rump/librump/rumpkern/vm.c: revision 1.125
Don't take a mutex we already took 6 lines above.
Starting with Rev. 1.191 of kern/subr_pool.c a pool has to be inactive
for at least 10 seconds before it can be reclaimed.
Change the uvmwait test timeout from 10 to 30 seconds so it has a chance
to reclaim memory and succeed.

Revision 1.125: download - view: text, markup, annotated - select for diffs
Sat Mar 17 17:58:38 2012 UTC (12 years, 8 months ago) by hannken
Branches: MAIN
CVS tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +2 -3 lines
Don't take a mutex we already took 6 lines above.

Revision 1.120.6.3: download - view: text, markup, annotated - select for diffs
Tue Mar 6 18:26:49 2012 UTC (12 years, 9 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.120.6.2: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.6.2: +3 -3 lines
sync to -current

Revision 1.124: download - view: text, markup, annotated - select for diffs
Mon Mar 5 13:43:56 2012 UTC (12 years, 9 months ago) by para
Branches: MAIN
CVS tags: jmcneill-usbmp-base7, jmcneill-usbmp-base6
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +3 -3 lines
adjust rump for static pool_cache count
should have went in with subr_vmem 1.73

Revision 1.120.6.2: download - view: text, markup, annotated - select for diffs
Fri Feb 24 09:11:50 2012 UTC (12 years, 9 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.120.6.1: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.6.1: +5 -5 lines
sync to -current.

Revision 1.123: download - view: text, markup, annotated - select for diffs
Sun Feb 19 09:19:41 2012 UTC (12 years, 9 months ago) by martin
Branches: MAIN
CVS tags: jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +5 -5 lines
Adapt to constification in sys/uvm/uvm_export.h

Revision 1.120.6.1: download - view: text, markup, annotated - select for diffs
Sat Feb 18 07:35:46 2012 UTC (12 years, 9 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +35 -70 lines
merge to -current.

Revision 1.41.8.2: download - view: text, markup, annotated - select for diffs
Fri Feb 10 06:00:55 2012 UTC (12 years, 10 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.41.8.1: preferred, colored; branchpoint 1.41: preferred, colored
Changes since revision 1.41.8.1: +0 -1 lines
uvm_pageout_done doesn't return anything more (it's void).

Revision 1.41.8.1: download - view: text, markup, annotated - select for diffs
Thu Feb 9 03:15:18 2012 UTC (12 years, 10 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +14 -5 lines
Update uvm_pageout_done defintion.

Revision 1.122: download - view: text, markup, annotated - select for diffs
Sun Jan 29 14:57:31 2012 UTC (12 years, 10 months ago) by njoly
Branches: MAIN
CVS tags: netbsd-6-base, jmcneill-usbmp-base2
Branch point for: netbsd-6
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +3 -2 lines
Move pool subsystem init from rump__init() to uvm_init(), following
kernel code. Fix RUMP_LOCKDEBUG early panic.

Revision 1.121: download - view: text, markup, annotated - select for diffs
Fri Jan 27 19:48:41 2012 UTC (12 years, 10 months ago) by para
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +34 -70 lines
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.120.2.4: download - view: text, markup, annotated - select for diffs
Wed Jan 25 00:42:35 2012 UTC (12 years, 10 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.3: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.3: +1 -1 lines
uvm_loanabj: take an access pattern hint.

Revision 1.120.2.3: download - view: text, markup, annotated - select for diffs
Sat Jan 14 04:36:39 2012 UTC (12 years, 11 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.2: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.2: +7 -0 lines
implement a rump stub of uvm_loanobj

Revision 1.120.2.2: download - view: text, markup, annotated - select for diffs
Thu Nov 10 14:33:18 2011 UTC (13 years, 1 month ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120.2.1: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.2.1: +0 -3 lines
remove uobj->memq

Revision 1.120.2.1: download - view: text, markup, annotated - select for diffs
Wed Nov 2 21:53:59 2011 UTC (13 years, 1 month ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +23 -34 lines
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.120: download - view: text, markup, annotated - select for diffs
Mon Oct 31 13:23:55 2011 UTC (13 years, 1 month ago) by yamt
Branches: 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
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +3 -3 lines
replace a non us-ascii character in a comment

Revision 1.119: download - view: text, markup, annotated - select for diffs
Fri Sep 2 10:18:38 2011 UTC (13 years, 3 months ago) by christos
Branches: MAIN
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +2 -8 lines
trylockowner is not needed anymore.

Revision 1.118: download - view: text, markup, annotated - select for diffs
Thu Sep 1 21:09:07 2011 UTC (13 years, 3 months ago) by christos
Branches: MAIN
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +8 -2 lines
fix the build for rumpserver.

Revision 1.114.2.1: download - view: text, markup, annotated - select for diffs
Thu Jun 23 14:20:28 2011 UTC (13 years, 5 months ago) by cherry
Branches: cherry-xenmp
Diff to: previous 1.114: preferred, colored; next MAIN 1.115: preferred, colored
Changes since revision 1.114: +22 -9 lines
Catchup with rmind-uvmplock merge.

Revision 1.117: download - view: text, markup, annotated - select for diffs
Sun Jun 19 18:29:25 2011 UTC (13 years, 5 months ago) by hannken
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +2 -3 lines
Make ubc_purge() a noop.

Revision 1.116: download - view: text, markup, annotated - select for diffs
Sun Jun 12 06:36:38 2011 UTC (13 years, 6 months ago) by mrg
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +16 -2 lines
include uvm_object.c in the rump kernel for the new uvm_obj* functions.
don't build the uvm_object.c uvm_object_printit() for _RUMPKERNEL. (XXX)
add empty panic() stubs for uvm_loanbreak() and ubc_purge().

fixes some more 5.99.53 rump build issues.

Revision 1.115: download - view: text, markup, annotated - select for diffs
Sun Jun 12 03:35:59 2011 UTC (13 years, 6 months ago) by rmind
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +9 -9 lines
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.70.4.6: download - view: text, markup, annotated - select for diffs
Sun Jun 12 02:39:37 2011 UTC (13 years, 6 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.70.4.5: preferred, colored; branchpoint 1.70: preferred, colored; next MAIN 1.71: preferred, colored
Changes since revision 1.70.4.5: +6 -6 lines
Sync RUMP's uvm_pagealloc_strat() and processpage() with branch changes.

Revision 1.106.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:10:08 2011 UTC (13 years, 6 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.106: preferred, colored; next MAIN 1.107: preferred, colored
Changes since revision 1.106: +80 -33 lines
Sync with HEAD.

Revision 1.70.4.5: download - view: text, markup, annotated - select for diffs
Thu Apr 21 01:42:17 2011 UTC (13 years, 7 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.70.4.4: preferred, colored; branchpoint 1.70: preferred, colored
Changes since revision 1.70.4.4: +1 -1 lines
sync with head

Revision 1.114: download - view: text, markup, annotated - select for diffs
Mon Mar 21 16:41:08 2011 UTC (13 years, 8 months ago) by pooka
Branches: MAIN
CVS tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +3 -3 lines
Update copyright statements.

no functional change.

Revision 1.70.4.4: download - view: text, markup, annotated - select for diffs
Sat Mar 5 20:56:15 2011 UTC (13 years, 9 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.70.4.3: preferred, colored; branchpoint 1.70: preferred, colored
Changes since revision 1.70.4.3: +464 -177 lines
sync with head

Revision 1.107.2.3: download - view: text, markup, annotated - select for diffs
Sat Mar 5 15:10:50 2011 UTC (13 years, 9 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.107.2.2: preferred, colored; next MAIN 1.108: preferred, colored
Changes since revision 1.107.2.2: +52 -28 lines
Sync with HEAD

Revision 1.113: download - view: text, markup, annotated - select for diffs
Tue Feb 22 20:17:38 2011 UTC (13 years, 9 months ago) by pooka
Branches: MAIN
CVS tags: bouyer-quota2-nbase
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +34 -25 lines
Shuffle the pagedaemon algorithm a bit to record the number of
pageouts active and give up only if the pagedaemon could not free
memory and there are no outstanding pageouts.

This should fix the "out of memory" pauses reported by Mihai Chelaru
and Taylor R Campbell.  Tested by copying files to and from an ffs
backed by /dev/wd0 (with and without -o log) using a 1MB rump kernel
memory limit.

Revision 1.112: download - view: text, markup, annotated - select for diffs
Tue Feb 22 18:43:20 2011 UTC (13 years, 9 months ago) by pooka
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +20 -5 lines
complete the incomplete pagesize rototill

Revision 1.107.2.2: download - view: text, markup, annotated - select for diffs
Thu Feb 17 12:00:51 2011 UTC (13 years, 9 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.107.2.1: preferred, colored
Changes since revision 1.107.2.1: +13 -5 lines
Sync with HEAD

Revision 1.111: download - view: text, markup, annotated - select for diffs
Thu Feb 10 14:46:45 2011 UTC (13 years, 10 months ago) by pooka
Branches: MAIN
CVS tags: bouyer-quota2-base
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +12 -5 lines
Make vmapbuf() return success/error and make physio deal with a
failure.

Revision 1.110: download - view: text, markup, annotated - select for diffs
Thu Feb 10 13:49:10 2011 UTC (13 years, 10 months ago) by pooka
Branches: MAIN
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +4 -3 lines
Set b_error in vunmapbuf() if copyout_proc fails.
XXX: what if copyin fails in vmapbuf()?

Revision 1.107.2.1: download - view: text, markup, annotated - select for diffs
Tue Feb 8 16:20:04 2011 UTC (13 years, 10 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +12 -11 lines
Sync with HEAD

Revision 1.109: download - view: text, markup, annotated - select for diffs
Sat Feb 5 17:25:45 2011 UTC (13 years, 10 months ago) by pooka
Branches: MAIN
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +3 -3 lines
Use correct strtoululululu variant.

from Taylor R Campbell

Revision 1.108: download - view: text, markup, annotated - select for diffs
Sat Jan 22 13:13:46 2011 UTC (13 years, 10 months ago) by pooka
Branches: MAIN
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +11 -10 lines
Add a comment explaning why uvm_reclaim_hook is not currently
necessary for rump.

XXX: strictly speaking, the zfs implementation does not work
correctly since it just wakes up a thread instead of performing
the scan in the context of the pagedaemon

Revision 1.107: download - view: text, markup, annotated - select for diffs
Tue Jan 18 22:21:23 2011 UTC (13 years, 10 months ago) by haad
Branches: MAIN
Branch point for: bouyer-quota2
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +16 -2 lines
Add support for compiling ZFS and Solaris modules as RUMP libraries. Add
some locking and rumpcopy primitives and refactor module building Makefiles
to work with both RUMP and kernel modules. This is first part of adding
support for regular test of zfs on NetBSD to hunt some bugs and make it
stable.

Ok by pooka@.

Revision 1.106: download - view: text, markup, annotated - select for diffs
Thu Jan 13 15:38:29 2011 UTC (13 years, 11 months ago) by pooka
Branches: MAIN
CVS tags: jruoho-x86intr-base
Branch point for: jruoho-x86intr
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +5 -5 lines
Introduce RUMP_LOCALPROC_P() macro and use it.

Revision 1.105: download - view: text, markup, annotated - select for diffs
Sat Jan 8 09:40:05 2011 UTC (13 years, 11 months ago) by pooka
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +33 -4 lines
Do a minidehumanizenumber for RUMP_MEMLIMIT.  Now you can set it
to e.g. 16m instead of having to type out 16777216.

Revision 1.104: download - view: text, markup, annotated - select for diffs
Wed Dec 1 20:29:57 2010 UTC (14 years ago) by pooka
Branches: MAIN
CVS tags: matt-mips64-premerge-20101231
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +47 -8 lines
If the pagedaemon cannot free any memory due to not being able to
lock any uvm objects, check if lockholders are currently on CPU
and yield to try very soon again instead of assuming deadlock.

This makes limited-memory kernels perform the same as memory-unlimited
kernels (provided there is a reasonable amount of memory available).
For example, for large file copy off of ffs where the image is
backed on host memory (i.e. no disk i/o, i.e. ideal conditions)
the figures are, per rump kernel memory limit:

3000kB: same
1000kB: 10% slower
500kB:  50% slower

(per pagedaemon code might still be able to use some tweak, though)

Revision 1.103: download - view: text, markup, annotated - select for diffs
Wed Dec 1 11:19:18 2010 UTC (14 years ago) by pooka
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +13 -10 lines
Make uvm_pagealloc_tele() fail if the request can't be immediately
satisfied.  This allows the caller to unlock the object and the
pagedaemon to avoid deadlock even if ~all memory is consumed by
one vm object.  This in turn makes is possible to copy a large file
into a rump kernel with a 10MB memory limit (where large >> 10MB).
A little more tuning will be required to avoid the pagedaemon
hitting the sleep-and-retry path, though.

+ fix some outdated unrelated comments

Revision 1.102: download - view: text, markup, annotated - select for diffs
Mon Nov 22 20:42:19 2010 UTC (14 years ago) by pooka
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +28 -18 lines
Support physio for remote processes.
==> add support for remote vmspace vmapbuf/vunmapbuf
  ==> add proper support for copyin/out_vmspace
    ==> add support for remote vmspace uvm_io
      ==> add support for non-curproc rumpuser_sp_copyin/out
        ==> store remote context in vm_map->pmap instead of
            pthread_specificdata

In short, makes read/write of most (all?) block devices work from
a remote rump client via rump syscalls.

Revision 1.101: download - view: text, markup, annotated - select for diffs
Wed Nov 17 19:54:09 2010 UTC (14 years ago) by pooka
Branches: MAIN
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +5 -5 lines
cleanup some old garbage

Revision 1.100: download - view: text, markup, annotated - select for diffs
Tue Nov 16 01:12:57 2010 UTC (14 years ago) by uebayasi
Branches: MAIN
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +3 -0 lines
Define uvmexp_pagemask and friends used by sparc to set PAGE_SIZE,
PAGE_MASK, PAGE_SHIFT dynamically.

Revision 1.99: download - view: text, markup, annotated - select for diffs
Fri Nov 12 05:23:41 2010 UTC (14 years, 1 month ago) by uebayasi
Branches: MAIN
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +20 -2 lines
Abstraction fix; move physical address -> per-page metadata (struct
vm_page *) "reverse" lookup code from uvm_page.h to uvm_page.c, to
help migration to not do that.

Likewise move per-page metadata (struct vm_page *) -> physical
address "forward" conversion code into *.c too.  This is called
only low-layer VM and MD code.

Revision 1.70.2.5: download - view: text, markup, annotated - select for diffs
Sat Nov 6 08:08:51 2010 UTC (14 years, 1 month ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.70.2.4: preferred, colored; branchpoint 1.70: preferred, colored; next MAIN 1.71: preferred, colored
Changes since revision 1.70.2.4: +8 -3 lines
Sync with HEAD.

Revision 1.98: download - view: text, markup, annotated - select for diffs
Wed Oct 27 20:44:49 2010 UTC (14 years, 1 month ago) by pooka
Branches: MAIN
CVS tags: uebayasi-xip-base4
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +8 -3 lines
Start rework of system call proxying over socket ("sysproxy").
This incarnation is written in the user namespace as opposed to
the previous one which was done in kernel namespace.  Also, rump
does all the handshaking now instead of excepting an application
to come up with the user namespace socket.

There's still a lot to do, including making code "a bit" more
robust, actually running different clients in a different process
inside the kernel and splitting the client side library from librump.
I'm committing this now so that I don't lose it, plus it generally
works as long as you don't use it in unexcepted ways: i've tested
ifconfig(8), route(8), envstat(8) and sysctl(8).

Revision 1.70.2.4: download - view: text, markup, annotated - select for diffs
Fri Oct 22 07:22:51 2010 UTC (14 years, 1 month ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.70.2.3: preferred, colored; branchpoint 1.70: preferred, colored
Changes since revision 1.70.2.3: +280 -149 lines
Sync with HEAD (-D20101022).

Revision 1.97: download - view: text, markup, annotated - select for diffs
Wed Oct 13 11:01:04 2010 UTC (14 years, 2 months ago) by pooka
Branches: MAIN
CVS tags: uebayasi-xip-base3
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +13 -4 lines
Don't reorder page on the age queue if the lookup is done by the
pagedaemon.  This mimics normal kernel behaviour where pmap_kentered
mappings are not tracked for references.  Without this change the
vnode pager's clustering could cause one page to be released by
the pagedaemon, and the rest of the pages in the pageout cluster
made unlikely candidates to be released soon.

Revision 1.30.4.6: download - view: text, markup, annotated - select for diffs
Sat Oct 9 03:32:44 2010 UTC (14 years, 2 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.30.4.5: preferred, colored; branchpoint 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30.4.5: +272 -150 lines
sync with head

Revision 1.96: download - view: text, markup, annotated - select for diffs
Fri Sep 24 22:51:51 2010 UTC (14 years, 2 months ago) by rmind
Branches: MAIN
CVS tags: yamt-nfs-mp-base11
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +13 -11 lines
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.95: download - view: text, markup, annotated - select for diffs
Thu Sep 9 12:23:06 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +35 -26 lines
* unlock object in "error" branch
* fix typo (not in comment)
* improve indentation tailspin

Revision 1.94: download - view: text, markup, annotated - select for diffs
Thu Sep 9 10:02:14 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +5 -2 lines
Assert that object is locked in page unbusy.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Wed Sep 8 21:14:32 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +8 -7 lines
Actually, we want to say "no aobjs" instead of "only vnodes" to
make component boundaries go right.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Wed Sep 8 21:02:11 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +186 -38 lines
Improve pagedaemon performance:
  * page out vnode objects
  * drain kmem/kernel_map

As long as there is a reasonable memory hardlimit (>600kB or so),
a rump kernel can now survive file system metadata access for an
arbitrary size file system (provided, of course, that the file
system does not use wired kernel memory for metadata ...).

Data handling still needs a little give&take finetuning.  The
general problem is that a single vm object can easily be the owner
of all vm pages in a rump kernel.  now, if a thread wants to allocate
memory while holding that object locked, there's very little the
pagedaemon can do to avoid deadlock.  but I think the problem can
be solved by making an object release a page when it wants to
allocate a page if a) the system is short on memory and b) too many
pages belong to the object.  that still doesn't take care of the
pathological situation where 1000 threads hold an object with 1
page of memory locked and try to allocate more.  but then again,
running 1000 threads with <1MB of memory is an unlikely scenario.
and ultimately, I call upon the fundamental interaction which is
the basis of why any operating works: luck.

Revision 1.91: download - view: text, markup, annotated - select for diffs
Tue Sep 7 21:11:10 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +11 -10 lines
Make the Diabolical (Page)Daemon Director drain vfs buffers when
we are short of memory.

There are still some funnies left to iron out.  For example, with
a certain file system / memory size configuration it's still not
possible to create enough files to make the file system run out of
inodes before the kernel runs out of memory.  Also, with some other
configurations disk access slows down gargantually (though i'm sure
there are >0 buffers available).  Anyway, it ~works for now and
it's by no means worse than what it was before.

Revision 1.90: download - view: text, markup, annotated - select for diffs
Tue Sep 7 07:47:36 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +30 -8 lines
Improve page allocator performance by using pool_cache for the
structure itself and allocating the backing page directly from the
hypervisor.

* initial write to a large tmpfs file is almost 2x faster
* truncating the file to 0 length after write is over 50% faster
* rewrite of the file is just slightly faster (indicating that
  kmem does a good job with caching, as expected)

Revision 1.89: download - view: text, markup, annotated - select for diffs
Tue Sep 7 06:06:54 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +32 -13 lines
Use rb_tree for page lookup instead of list.  Unshockingly, this
makes dealing with large uobjs (files) quite a bit faster.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Mon Sep 6 20:10:20 2010 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +13 -96 lines
Use standard uvm aobj pager.  Most of the kernel aobj pager complexity
comes from swap handling, but that is included only with VMSWAP.

Revision 1.70.2.3: download - view: text, markup, annotated - select for diffs
Tue Aug 17 06:48:02 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.70.2.2: preferred, colored; branchpoint 1.70: preferred, colored
Changes since revision 1.70.2.2: +271 -61 lines
Sync with HEAD.

Revision 1.30.4.5: download - view: text, markup, annotated - select for diffs
Wed Aug 11 22:55:07 2010 UTC (14 years, 4 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.30.4.4: preferred, colored; branchpoint 1.30: preferred, colored
Changes since revision 1.30.4.4: +282 -64 lines
sync with head.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Thu Jul 29 15:13:00 2010 UTC (14 years, 4 months ago) by hannken
Branches: MAIN
CVS tags: yamt-nfs-mp-base10, uebayasi-xip-base2
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +4 -2 lines
Correct previous.  Skip marker pages in uvm_pagelookup().
Already awake :-)

Revision 1.86: download - view: text, markup, annotated - select for diffs
Thu Jul 29 15:04:04 2010 UTC (14 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +2 -3 lines
Remove questionable KASSERT from previous.  hannken can look at
this more closely when he wakes up.  Normally I wouldn't be in such
a huge rush, but due to atf bug #53 the whole test run breaks now.
At least with the KASSERT removed all tests pass again.

Revision 1.85: download - view: text, markup, annotated - select for diffs
Thu Jul 29 10:54:50 2010 UTC (14 years, 4 months ago) by hannken
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +3 -2 lines
Add vm page flag PG_MARKER and use it to tag dummy marker pages
in genfs_do_putpages() and uao_put().
Use 'v_uobj.uo_npages' to check for an empty memq.
Put some assertions where these marker pages may not appear.

Ok: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.70.4.3: download - view: text, markup, annotated - select for diffs
Sat Jul 3 01:20:02 2010 UTC (14 years, 5 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.70.4.2: preferred, colored; branchpoint 1.70: preferred, colored
Changes since revision 1.70.4.2: +261 -62 lines
sync with head

Revision 1.84: download - view: text, markup, annotated - select for diffs
Mon Jun 14 21:04:56 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +49 -4 lines
Make it possible to define an upper limit for memory consumed by
the rump kernel by specifying RUMP_MEMLIMIT.  In case allocation
over that limit is attempted, essentially pool reclaim and uvm_wait()
is done.  The default is to allow to allocate as much as the host
will give.

XXX: uvm_km_alloc and malloc(9) do not currently conform.  the
former is easy, the latter requires kern_malloc.c (rump malloc is
currently directly relegated to host malloc).

Revision 1.83: download - view: text, markup, annotated - select for diffs
Thu Jun 10 21:40:42 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +36 -6 lines
Use kern_proc.c instead of a collection of stubs.  But what we
really wanted from this commit was the support for proc_specificdata.

TODO: make creating a new process actually use kern_proc and
maybe even add an interface which starts a process with
"any pid you don't like"

Revision 1.82: download - view: text, markup, annotated - select for diffs
Wed Jun 9 12:02:37 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +28 -4 lines
On amd64, allocate module_map memory from the lowest 2GB.

Revision 1.81: download - view: text, markup, annotated - select for diffs
Wed Jun 9 11:35:36 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +5 -4 lines
Add the ability to specify a preferred address the "map anon memory"
hypercall.

Revision 1.80: download - view: text, markup, annotated - select for diffs
Thu Jun 3 10:56:20 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +144 -37 lines
Implement a sort-of pagedaemon: adjust all memory allocators to go
through an in-rumpkernel hypermemory allocator which knows it should
kick the pagedaemon and block in case ``waitok'' memory allocation
fails.

This allows us to recover from some out-of-memory situations.
Realworld'istically speaking (as opposed to whatever "should be"
theory), these OOM situations will happen extremely rarely if ever
when our hypervisor is a regular process.  Speculatively, this
should be useful for other types of hosts.

issues remaining:
 * the hypervisor does not know how to reclaim kernel memory (and
   for the reason I stated above, I'm not sure if it makes sense
   to teach the current implementation about that)
 * vfs memory (buffers, vm object pages etc.) is not reclaimed

Revision 1.79: download - view: text, markup, annotated - select for diffs
Wed Jun 2 10:55:18 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +3 -3 lines
rumpvm_init -> uvm_init to get rid of local prototype.
no functional change

Revision 1.78: download - view: text, markup, annotated - select for diffs
Tue Jun 1 20:11:33 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +3 -3 lines
Don't pass "canfail" down to rumpuser_malloc -- there's quite little
we can do with that info way down there.  Instead, pass alignment.
Implement rumpuser_malloc() with posix_memalign().

Revision 1.77: download - view: text, markup, annotated - select for diffs
Tue Jun 1 19:18:20 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +4 -10 lines
Always use rumpuser_malloc() for allocating both poolpage and
poolpage_cache -- its bootstrap cost is slightly higher than
anonmmap, but it's faster in the long run.

Revision 1.76: download - view: text, markup, annotated - select for diffs
Tue Jun 1 10:29:21 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +13 -15 lines
* remove rumpvm_makepage, just use uvm_pagealloc()
* update copyright to reflect reality a little better

Revision 1.70.4.2: download - view: text, markup, annotated - select for diffs
Sun May 30 05:18:06 2010 UTC (14 years, 6 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.70.4.1: preferred, colored; branchpoint 1.70: preferred, colored
Changes since revision 1.70.4.1: +21 -4 lines
sync with head

Revision 1.75: download - view: text, markup, annotated - select for diffs
Wed May 26 21:48:20 2010 UTC (14 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +3 -3 lines
print vm object refcount

Revision 1.74: download - view: text, markup, annotated - select for diffs
Fri May 14 13:04:14 2010 UTC (14 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +9 -2 lines
Pick up after people who find build-testing their changes too difficult.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Tue May 11 14:06:08 2010 UTC (14 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +4 -2 lines
uvm_object_printit() should be wrapped in DEBUGPRINT

Revision 1.70.2.2: download - view: text, markup, annotated - select for diffs
Fri Apr 30 14:44:30 2010 UTC (14 years, 7 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.70.2.1: preferred, colored; branchpoint 1.70: preferred, colored
Changes since revision 1.70.2.1: +9 -1 lines
Sync with HEAD.

Revision 1.70.2.1: download - view: text, markup, annotated - select for diffs
Thu Apr 29 06:31:13 2010 UTC (14 years, 7 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +9 -2 lines
Fix build of rump.

Revision 1.72: download - view: text, markup, annotated - select for diffs
Wed Apr 28 16:34:25 2010 UTC (14 years, 7 months ago) by pooka
Branches: MAIN
CVS tags: uebayasi-xip-base1
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +3 -3 lines
Instead of causing a catastrophic failure when uvm_loanuobjpages()
is called, just pretend it hit a wired page and return EBUSY.  This
should cause callers to use a non-loaning access path instead.

Fixes file read path of stock nfs kernel module (previously it was
easy to just frob the nfsd_use_loan boolean into the other position
by simple value assingment, but now that nfsserver can be autoloaded
at runtime into the rump kernel, that approach is a little more
challenging since the variable isn't available in application
linkage.  yes, things like adding a sysctl for the variable would
work, but now everything works out-of-the-box).

Revision 1.71: download - view: text, markup, annotated - select for diffs
Wed Apr 21 16:16:31 2010 UTC (14 years, 7 months ago) by pooka
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +10 -2 lines
support kern_resource

Revision 1.70.4.1: download - view: text, markup, annotated - select for diffs
Tue Mar 16 15:38:13 2010 UTC (14 years, 8 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +9 -9 lines
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.30.4.4: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:04:38 2010 UTC (14 years, 9 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.30.4.3: preferred, colored; branchpoint 1.30: preferred, colored
Changes since revision 1.30.4.3: +46 -67 lines
sync with head

Revision 1.70: download - view: text, markup, annotated - select for diffs
Fri Dec 4 17:57:16 2009 UTC (15 years ago) by pooka
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +2 -6 lines
g/c unused functions (previously used by the vnode pager).

Revision 1.69: download - view: text, markup, annotated - select for diffs
Fri Dec 4 17:15:47 2009 UTC (15 years ago) by pooka
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +25 -3 lines
Implement enough of uvm_mmap() to make the creative proplib ioctl
copyout code work.  No comments ... okok, if that'll make you leave
me alone: it's ioctl, so it's supposed to be funky (with a score
or two of psychedelic rock).

Revision 1.68: download - view: text, markup, annotated - select for diffs
Fri Dec 4 16:47:33 2009 UTC (15 years ago) by pooka
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +9 -3 lines
Provide the default_mapaddr method in default rump emul (since some
kernel callers want to use it).

Revision 1.67: download - view: text, markup, annotated - select for diffs
Wed Nov 4 18:25:36 2009 UTC (15 years, 1 month ago) by pooka
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +3 -43 lines
Pull all relegating memory allocators under a common roof in memalloc.c

Revision 1.66: download - view: text, markup, annotated - select for diffs
Wed Nov 4 16:55:20 2009 UTC (15 years, 1 month ago) by pooka
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +20 -2 lines
Use std. uiomove() & friends.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Wed Oct 21 23:13:53 2009 UTC (15 years, 1 month ago) by rmind
Branches: MAIN
CVS tags: jym-xensuspend-nbase
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +2 -9 lines
Sync rump with kernel changes.

Revision 1.64: download - view: text, markup, annotated - select for diffs
Wed Oct 21 21:12:06 2009 UTC (15 years, 1 month ago) by rmind
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +2 -17 lines
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.63: download - view: text, markup, annotated - select for diffs
Mon Oct 19 22:31:47 2009 UTC (15 years, 1 month ago) by pooka
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +2 -10 lines
remove stale uvm_readahead() stub

Revision 1.62: download - view: text, markup, annotated - select for diffs
Fri Oct 16 00:14:53 2009 UTC (15 years, 1 month ago) by pooka
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +9 -2 lines
Include sys_select.c for proper select()/poll() support.

Revision 1.30.4.3: download - view: text, markup, annotated - select for diffs
Wed Aug 19 18:48:30 2009 UTC (15 years, 3 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.30.4.2: preferred, colored; branchpoint 1.30: preferred, colored
Changes since revision 1.30.4.2: +169 -62 lines
sync with head.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Tue Aug 4 23:58:29 2009 UTC (15 years, 4 months ago) by pooka
Branches: MAIN
CVS tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +168 -60 lines
* support uvm_pagermapin/out(), adapt uvm_pageratop()

  Instead of doing actual page remapping, which we can't portably
  do in userspace without extensive trickery (read: signals), simply
  allocate the kva window with new physical backing, copy page
  contents, return, and copy contents back in mapout.  Since the
  pages are locked during the mapping cycle, we can do this without
  hazard.

* add lots of stubbies necessary for new stuff coming soon

Revision 1.60: download - view: text, markup, annotated - select for diffs
Mon Aug 3 23:32:06 2009 UTC (15 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +2 -5 lines
g/c cachepgmtx, i have no idea what it was supposed to be useful for.

Revision 1.59: download - view: text, markup, annotated - select for diffs
Mon Aug 3 17:10:51 2009 UTC (15 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +4 -2 lines
track number of pages associated with vm object

Revision 1.52.2.2: download - view: text, markup, annotated - select for diffs
Thu Jul 23 23:32:54 2009 UTC (15 years, 4 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.52.2.1: preferred, colored; branchpoint 1.52: preferred, colored; next MAIN 1.53: preferred, colored
Changes since revision 1.52.2.1: +45 -2 lines
Sync with HEAD.

Revision 1.30.4.2: download - view: text, markup, annotated - select for diffs
Sat Jun 20 07:20:35 2009 UTC (15 years, 5 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.30.4.1: preferred, colored; branchpoint 1.30: preferred, colored
Changes since revision 1.30.4.1: +45 -2 lines
sync with head

Revision 1.58: download - view: text, markup, annotated - select for diffs
Wed Jun 10 11:41:43 2009 UTC (15 years, 6 months ago) by he
Branches: MAIN
CVS tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +11 -2 lines
Add a dummy uvm_readahead() function, to fix build issues after it
recently got added to the kernel.
OK'ed by pooka@

Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed Jun 3 16:06:10 2009 UTC (15 years, 6 months ago) by pooka
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +36 -2 lines
Add user vmspace locking and remapping routines.  Obviously, these
currently work only if the vmspace is local to the rump kernel.

Revision 1.52.2.1: download - view: text, markup, annotated - select for diffs
Wed May 13 17:22:58 2009 UTC (15 years, 7 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +20 -3 lines
Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.30.4.1: download - view: text, markup, annotated - select for diffs
Mon May 4 08:14:30 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +140 -271 lines
sync with head.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Sun May 3 16:53:54 2009 UTC (15 years, 7 months ago) by pooka
Branches: MAIN
CVS tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, jym-xensuspend-base
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +11 -2 lines
define DEBUGPRINT

Revision 1.55: download - view: text, markup, annotated - select for diffs
Tue Apr 28 14:00:42 2009 UTC (15 years, 7 months ago) by pooka
Branches: MAIN
CVS tags: nick-hppapmap-base4
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +3 -2 lines
Free uao lock when destroying object.  Fixes tmpfs rename leak
reported by njoly.

Revision 1.41.2.3: download - view: text, markup, annotated - select for diffs
Tue Apr 28 07:37:51 2009 UTC (15 years, 7 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.41.2.2: preferred, colored; branchpoint 1.41: preferred, colored; next MAIN 1.42: preferred, colored
Changes since revision 1.41.2.2: +10 -3 lines
Sync with HEAD.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Fri Apr 24 13:27:03 2009 UTC (15 years, 7 months ago) by pooka
Branches: MAIN
CVS tags: nick-hppapmap-base3, nick-hppapmap-base
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +9 -2 lines
* init pool linksets, makes proplib work.  reported by Arnaud Ysmal.
  (linksets, sigh)
* reduce #ifdef for RUMP_USE_REAL_ALLOCATORS

Revision 1.53: download - view: text, markup, annotated - select for diffs
Wed Mar 18 10:22:45 2009 UTC (15 years, 8 months ago) by cegger
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +3 -3 lines
Ansify function definitions w/o arguments. Generated with sed.

Revision 1.41.2.2: download - view: text, markup, annotated - select for diffs
Tue Mar 3 18:34:07 2009 UTC (15 years, 9 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.41.2.1: preferred, colored; branchpoint 1.41: preferred, colored
Changes since revision 1.41.2.1: +50 -9 lines
Sync with HEAD.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Fri Feb 6 18:29:19 2009 UTC (15 years, 10 months ago) by pooka
Branches: MAIN
CVS tags: nick-hppapmap-base2
Branch point for: jym-xensuspend
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +3 -3 lines
Call uvm_page_unbusy() instead of manually yanking PG_BUSY out.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Fri Jan 23 14:24:43 2009 UTC (15 years, 10 months ago) by pooka
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +2 -3 lines
last-minute pasto in previous

Revision 1.50: download - view: text, markup, annotated - select for diffs
Fri Jan 23 13:14:17 2009 UTC (15 years, 10 months ago) by pooka
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +50 -8 lines
Add a compile-time option to use kmem/vmem/pools from the kernel
sources instead of homegrown allocators.  Default to "on", even
though they appear to be a few percent slower at least on short
jobs (e.g. untar to tmpfs).

Revision 1.41.2.1: download - view: text, markup, annotated - select for diffs
Mon Jan 19 13:20:25 2009 UTC (15 years, 10 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +29 -289 lines
Sync with HEAD.

Revision 1.29.6.5: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:29:36 2009 UTC (15 years, 10 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.29.6.4: preferred, colored; branchpoint 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29.6.4: +61 -273 lines
Sync with HEAD.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Sun Jan 4 20:30:21 2009 UTC (15 years, 11 months ago) by pooka
Branches: MAIN
CVS tags: mjf-devfs2-base
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +10 -2 lines
Include libkern contents in librump.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Thu Dec 18 00:24:12 2008 UTC (15 years, 11 months ago) by pooka
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +4 -1 lines
__KERNEL_RCSID

Revision 1.47: download - view: text, markup, annotated - select for diffs
Tue Dec 16 14:48:31 2008 UTC (15 years, 11 months ago) by pooka
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +2 -1 lines
Mark pages busy during VOP_PUTPAGES().  Deals with KASSERT in nfs write.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Tue Dec 16 14:07:25 2008 UTC (15 years, 11 months ago) by pooka
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +9 -6 lines
Make rumpflushva flush only the atop info for a certain uvm object.
Better, but still not completely race-free (if two threads call
RUMP_VOP_PUTPAGES() directly for the same vm object).

Revision 1.32.4.2: download - view: text, markup, annotated - select for diffs
Sat Dec 13 01:15:34 2008 UTC (16 years ago) by haad
Branches: haad-dm
Diff to: previous 1.32.4.1: preferred, colored; branchpoint 1.32: preferred, colored; next MAIN 1.33: preferred, colored
Changes since revision 1.32.4.1: +9 -284 lines
Update haad-dm branch to haad-dm-base2.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Thu Nov 27 08:13:15 2008 UTC (16 years ago) by pooka
Branches: MAIN
CVS tags: haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +1 -106 lines
Move more vfs-related vm routines from rumpkern to rumpvfs.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Thu Nov 27 08:05:27 2008 UTC (16 years ago) by pooka
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +29 -132 lines
Remove the whole magic ubc window thingie.  All file systems use
ubc_uiomove() now, so we can hook ourselves there.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Wed Nov 26 15:04:02 2008 UTC (16 years ago) by pooka
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +9 -1 lines
Add a few symbols required by nfsd

Revision 1.42: download - view: text, markup, annotated - select for diffs
Wed Nov 19 14:10:49 2008 UTC (16 years ago) by pooka
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +1 -76 lines
Split vfs out of rumpkern into rumpvfs.  Non-fs rumps no longer
include the file system code.  File system rumps explicitly need
to include rumpvfs from now on.

Revision 1.32.4.1: download - view: text, markup, annotated - select for diffs
Sun Oct 19 22:18:07 2008 UTC (16 years, 1 month ago) by haad
Branches: haad-dm
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +92 -22 lines
Sync with HEAD.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Wed Oct 15 13:04:26 2008 UTC (16 years, 1 month ago) by pooka
Branches: MAIN
CVS tags: 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, 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, haad-dm-base1
Branch point for: nick-hppapmap, matt-nb5-mips64
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +22 -1 lines
Add support bits necessary for rumpnet functionality.

Revision 1.30.6.3: download - view: text, markup, annotated - select for diffs
Fri Oct 10 22:36:16 2008 UTC (16 years, 2 months ago) by skrll
Branches: wrstuden-revivesa
Diff to: previous 1.30.6.2: preferred, colored; branchpoint 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30.6.2: +55 -27 lines
Sync with HEAD.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Fri Oct 10 20:51:44 2008 UTC (16 years, 2 months ago) by pooka
Branches: MAIN
CVS tags: wrstuden-revivesa-base-4
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +31 -1 lines
* implement uvm_km_alloc/free_poolpage()
* add silly stubs for uvm_lwp_hold/rele()

Revision 1.39: download - view: text, markup, annotated - select for diffs
Fri Oct 10 20:45:21 2008 UTC (16 years, 2 months ago) by pooka
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +33 -36 lines
reorganize routines a bit better.  no functional change

Revision 1.29.6.4: download - view: text, markup, annotated - select for diffs
Sun Oct 5 20:11:34 2008 UTC (16 years, 2 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.29.6.3: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.3: +1 -0 lines
Sync with HEAD.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Tue Sep 30 19:50:16 2008 UTC (16 years, 2 months ago) by pooka
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +2 -1 lines
Make sure proc0.p_vmspace qualifies as VMSPACE_IS_KERNEL_P().

Revision 1.29.6.3: download - view: text, markup, annotated - select for diffs
Sun Sep 28 10:41:04 2008 UTC (16 years, 2 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.29.6.2: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.2: +27 -6 lines
Sync with HEAD.

Revision 1.30.6.2: download - view: text, markup, annotated - select for diffs
Thu Sep 18 04:37:04 2008 UTC (16 years, 2 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.30.6.1: preferred, colored; branchpoint 1.30: preferred, colored
Changes since revision 1.30.6.1: +28 -7 lines
Sync with wrstuden-revivesa-base-2.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Thu Aug 7 21:02:29 2008 UTC (16 years, 4 months ago) by pooka
Branches: MAIN
CVS tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +2 -2 lines
pg->flags &= PG_CLEAN --> &= ~PG_CLEAN;

Fixes at least writing to the fs for msdosfs.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Tue Aug 5 13:06:35 2008 UTC (16 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +5 -2 lines
Honor PG_RELEASED when unbusying a page.

Fixes ufs file system full problem discovered by Simon Burge.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Mon Aug 4 15:02:16 2008 UTC (16 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +18 -1 lines
Add support for using real kmem/vmem.  Don't enable it by default,
though, since it a) is a lot of unnecessary indirection in rump
b) requires callouts which are so far unimplemented.

Revision 1.32.2.2: download - view: text, markup, annotated - select for diffs
Thu Jul 31 04:51:05 2008 UTC (16 years, 4 months ago) by simonb
Branches: simonb-wapbl
Diff to: previous 1.32.2.1: preferred, colored; branchpoint 1.32: preferred, colored; next MAIN 1.33: preferred, colored
Changes since revision 1.32.2.1: +5 -4 lines
Sync with head.

Revision 1.34: download - view: text, markup, annotated - select for diffs
Tue Jul 29 13:17:47 2008 UTC (16 years, 4 months ago) by pooka
Branches: MAIN
CVS tags: simonb-wapbl-nbase, simonb-wapbl-base
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +5 -4 lines
Install rump libraries and utilities to the base system and remove the
private non-installed build infrastructure from sys/rump.

breakdown of commit:
  * install relevant headers into /usr/include/rump
  * build sys/rump/librump/rumpuser and sys/rump/librump/rumpkern
    from src/lib and install as librumpuser and librump, respectively
    + this retains the ability to test a librump build with just the
      kernel sources at hand
  * move sys/rump/fs/lib/libukfs and sys/rump/fs/lib/libp2k to src/lib
    for general consumption, they are not kernel-space dwellers anyway
  * build and install sys/rump/fs/lib/lib$fs as librumpfs_$fs
  * add chapter 3 manual pages for rump, rumpuser, ukfs and p2k
  * build and install userspace kernel file system daemons if MKPUFFS=yes
    is spexified
  * retire fsconsole for now, it will make a comeback with an actually
    implemented version shortly

Revision 1.32.2.1: download - view: text, markup, annotated - select for diffs
Mon Jul 21 14:14:13 2008 UTC (16 years, 4 months ago) by simonb
Branches: simonb-wapbl
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -2 lines
Sync with head.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sun Jul 20 16:18:13 2008 UTC (16 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -2 lines
assert -> KASSERT

Revision 1.30.6.1: download - view: text, markup, annotated - select for diffs
Mon Jun 23 04:32:02 2008 UTC (16 years, 5 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +5 -4 lines
Sync w/ -current. 34 merge conflicts to follow.

Revision 1.30.2.1: download - view: text, markup, annotated - select for diffs
Tue Jun 17 09:15:16 2008 UTC (16 years, 5 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +5 -4 lines
sync with head.

Revision 1.29.6.2: download - view: text, markup, annotated - select for diffs
Thu Jun 5 19:14:37 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.29.6.1: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.1: +4 -3 lines
Sync with HEAD.

Also fix build.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Thu Jun 5 12:43:52 2008 UTC (16 years, 6 months ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-base4, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl, haad-dm
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +2 -1 lines
Make it build again.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Wed Jun 4 13:10:06 2008 UTC (16 years, 6 months ago) by ad
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +4 -4 lines
Make it build.

Revision 1.29.6.1: download - view: text, markup, annotated - select for diffs
Thu Apr 3 12:43:11 2008 UTC (16 years, 8 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +5 -1 lines
Sync with HEAD.

Revision 1.29.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 24 07:16:28 2008 UTC (16 years, 8 months ago) by keiichi
Branches: keiichi-mipv6
Diff to: previous 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29: +5 -1 lines
sync with head.

Revision 1.14.2.4: download - view: text, markup, annotated - select for diffs
Sun Mar 23 02:05:09 2008 UTC (16 years, 8 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.14.2.3: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14.2.3: +7 -3 lines
sync with HEAD

Revision 1.16.2.8: download - view: text, markup, annotated - select for diffs
Mon Mar 17 09:15:46 2008 UTC (16 years, 8 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.16.2.7: preferred, colored; branchpoint 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16.2.7: +5 -1 lines
sync with head.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Tue Mar 11 10:50:16 2008 UTC (16 years, 9 months ago) by pooka
Branches: 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, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, hpcarm-cleanup-nbase, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +5 -1 lines
Backup some fixes for recent breakage from local tree.  Also some
other improvements such as exporting the real kernel namei and
using that in ukfs instead of the homegrown heap'o hacks namei.
"etcetc".

Revision 1.21.2.3: download - view: text, markup, annotated - select for diffs
Mon Feb 18 21:07:22 2008 UTC (16 years, 9 months ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.21.2.2: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21.2.2: +44 -20 lines
Sync with HEAD.

Revision 1.16.2.7: download - view: text, markup, annotated - select for diffs
Mon Feb 4 09:24:53 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.16.2.6: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.6: +3 -3 lines
sync with head.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Sun Jan 27 20:10:53 2008 UTC (16 years, 10 months ago) by pooka
Branches: MAIN
CVS tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +2 -1 lines
honor pager locking protocol in uao_detach()

Revision 1.28: download - view: text, markup, annotated - select for diffs
Sun Jan 27 00:16:22 2008 UTC (16 years, 10 months ago) by pooka
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +2 -3 lines
Fix locking botches: take vm object lock before calling pager,
not inside the pager.

Revision 1.16.2.6: download - view: text, markup, annotated - select for diffs
Mon Jan 21 09:47:44 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.16.2.5: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.5: +44 -20 lines
sync with head

Revision 1.14.2.3: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:58:01 2008 UTC (16 years, 11 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.14.2.2: preferred, colored
Changes since revision 1.14.2.2: +60 -27 lines
sync with HEAD

Revision 1.24.6.2: download - view: text, markup, annotated - select for diffs
Tue Jan 8 22:11:54 2008 UTC (16 years, 11 months ago) by bouyer
Branches: bouyer-xeni386
CVS tags: bouyer-xeni386-merge1
Diff to: previous 1.24.6.1: preferred, colored; branchpoint 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24.6.1: +8 -11 lines
Sync with HEAD

Revision 1.27: download - view: text, markup, annotated - select for diffs
Thu Jan 3 02:48:03 2008 UTC (16 years, 11 months ago) by pooka
Branches: MAIN
CVS tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +9 -12 lines
Theoretically this is supposed to be interchangeable with real
kernel code.  Use kmem_alloc/free instead of some wily homerolled
rump interfaces for memory allocation.

Revision 1.24.6.1: download - view: text, markup, annotated - select for diffs
Wed Jan 2 21:57:55 2008 UTC (16 years, 11 months ago) by bouyer
Branches: bouyer-xeni386
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +35 -8 lines
Sync with HEAD

Revision 1.26: download - view: text, markup, annotated - select for diffs
Wed Jan 2 15:44:04 2008 UTC (16 years, 11 months ago) by pooka
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +8 -8 lines
fix vmlocking2 fallout:

* I heard a wild rumor that vp_interlock is a mutex these days (hi ad!)
* init new locks (hi ad)
* observe that with simple_locks only deadlocks would be caught while
  releasing unlocked locks would go unnoticed.  make locking work (hi pooka)

Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Jan 2 11:49:06 2008 UTC (16 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +29 -2 lines
Merge vmlocking2 to head.

Revision 1.24.2.1: download - view: text, markup, annotated - select for diffs
Fri Dec 28 21:43:19 2007 UTC (16 years, 11 months ago) by ad
Branches: vmlocking2
Diff to: previous 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24: +29 -2 lines
Make rump build.

Revision 1.21.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 8 18:21:27 2007 UTC (17 years ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.21.2.1: preferred, colored
Changes since revision 1.21.2.1: +17 -8 lines
Sync with HEAD.

Revision 1.16.2.5: download - view: text, markup, annotated - select for diffs
Fri Dec 7 17:34:48 2007 UTC (17 years ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.16.2.4: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.4: +17 -8 lines
sync with head

Revision 1.20.2.6: download - view: text, markup, annotated - select for diffs
Mon Dec 3 16:15:14 2007 UTC (17 years ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.20.2.5: preferred, colored; next MAIN 1.21: preferred, colored
Changes since revision 1.20.2.5: +17 -8 lines
Sync with HEAD.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Sat Dec 1 10:45:42 2007 UTC (17 years ago) by yamt
Branches: 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
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +17 -8 lines
constify pagerops.

Revision 1.21.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 19 00:49:25 2007 UTC (17 years ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +51 -25 lines
Sync with HEAD.

Revision 1.16.2.4: download - view: text, markup, annotated - select for diffs
Thu Nov 15 11:45:28 2007 UTC (17 years ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.16.2.3: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.3: +161 -55 lines
sync with head.

Revision 1.18.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 13 16:03:17 2007 UTC (17 years, 1 month ago) by bouyer
Branches: bouyer-xenamd64
Diff to: previous 1.18: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18: +161 -55 lines
Sync with HEAD

Revision 1.14.2.2: download - view: text, markup, annotated - select for diffs
Thu Nov 8 11:00:19 2007 UTC (17 years, 1 month ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.14.2.1: preferred, colored
Changes since revision 1.14.2.1: +51 -25 lines
sync with -HEAD

Revision 1.14.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:34:39 2007 UTC (17 years, 1 month ago) by matt
Branches: matt-armv6
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +172 -44 lines
sync with HEAD

Revision 1.20.2.5: download - view: text, markup, annotated - select for diffs
Tue Nov 6 19:25:37 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.20.2.4: preferred, colored
Changes since revision 1.20.2.4: +51 -25 lines
Sync with HEAD.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Tue Nov 6 12:57:50 2007 UTC (17 years, 1 month ago) by pooka
Branches: MAIN
CVS tags: jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +14 -4 lines
Fix locking issues with the anonymous pager too so that tmpfs can work.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Tue Nov 6 11:35:05 2007 UTC (17 years, 1 month ago) by pooka
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +39 -23 lines
Sprinkle some more locking, especially to the vm.  Due to some
additional fixes, it's now possible to run file systems with
spinlocks actually enabled.  The genfs_putpages() locking is still
working only due to greater powers, but I'll eventually get around to
fixing it.

Revision 1.20.2.4: download - view: text, markup, annotated - select for diffs
Sun Nov 4 21:03:49 2007 UTC (17 years, 1 month ago) by jmcneill
Branches: jmcneill-pm
Diff to: previous 1.20.2.3: preferred, colored
Changes since revision 1.20.2.3: +82 -26 lines
Sync with HEAD.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Sun Nov 4 19:52:14 2007 UTC (17 years, 1 month ago) by pooka
Branches: MAIN
Branch point for: mjf-devfs
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +82 -26 lines
* sprinkle some locking into the vm code
* avoid extra insert+search+remove step in file systems using
  ubc_uiomove() instead of standard uiomove()

Revision 1.20.2.3: download - view: text, markup, annotated - select for diffs
Fri Nov 2 13:02:48 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.20.2.2: preferred, colored
Changes since revision 1.20.2.2: +52 -28 lines
Remove the rest of the unintentional diff in sys/rump.

Revision 1.20.2.2: download - view: text, markup, annotated - select for diffs
Wed Oct 31 23:14:18 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.20.2.1: preferred, colored
Changes since revision 1.20.2.1: +555 -0 lines
Sync with HEAD.

Revision 1.20.2.1
Wed Oct 31 15:57:21 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
FILE REMOVED
Changes since revision 1.20: +0 -579 lines
file vm.c was added on branch jmcneill-pm on 2007-10-31 23:14:18 +0000

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Oct 31 15:57:21 2007 UTC (17 years, 1 month ago) by pooka
Branches: MAIN
Branch point for: jmcneill-pm
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +52 -28 lines
Make it possible to run rumps multithreaded.  This brings real
locking and makes it possible to run file systems which create
threads.  It also makes rump file system behaviour better match
file system behaviour in the kernel.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Sun Oct 28 18:54:17 2007 UTC (17 years, 1 month ago) by pooka
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +4 -4 lines
In uvm_estimatepageable() "estimate" pageable.

Revision 1.16.2.3: download - view: text, markup, annotated - select for diffs
Sat Oct 27 11:36:24 2007 UTC (17 years, 1 month ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.16.2.2: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.2: +12 -7 lines
sync with head.

Revision 1.17.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 14 11:49:05 2007 UTC (17 years, 2 months ago) by yamt
Branches: yamt-x86pmap
Diff to: previous 1.17: preferred, colored; next MAIN 1.18: preferred, colored
Changes since revision 1.17: +2 -2 lines
sync with head.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Wed Oct 10 20:42:32 2007 UTC (17 years, 2 months ago) by ad
Branches: MAIN
CVS tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base
Branch point for: bouyer-xenamd64
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -2 lines
Merge from vmlocking:

- Split vnode::v_flag into three fields, depending on field locking.
- simple_lock -> kmutex in a few places.
- Fix some simple locking problems.

Revision 1.13.2.3: download - view: text, markup, annotated - select for diffs
Tue Oct 9 13:45:05 2007 UTC (17 years, 2 months ago) by ad
Branches: vmlocking
Diff to: previous 1.13.2.2: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13.2.2: +63 -8 lines
Sync with head.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Wed Sep 12 10:24:23 2007 UTC (17 years, 3 months ago) by pooka
Branches: MAIN
CVS tags: yamt-x86pmap-base2, yamt-x86pmap-base
Branch point for: yamt-x86pmap
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +11 -6 lines
don't allocate variable-sized arrays from the stack

Revision 1.16.2.2: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:45:39 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.16.2.1: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.1: +550 -0 lines
sync with head.

Revision 1.12.2.3: download - view: text, markup, annotated - select for diffs
Mon Sep 3 10:23:56 2007 UTC (17 years, 3 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.12.2.2: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12.2.2: +53 -3 lines
Sync with HEAD.

Revision 1.16.2.1
Sat Sep 1 23:40:27 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
FILE REMOVED
Changes since revision 1.16: +0 -550 lines
file vm.c was added on branch yamt-lazymbuf on 2007-09-03 14:45:38 +0000

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sat Sep 1 23:40:27 2007 UTC (17 years, 3 months ago) by pooka
Branches: MAIN
CVS tags: nick-csl-alignment-base5
Branch point for: yamt-lazymbuf
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -3 lines
Make bioops a pointer and point it to the softdeps struct in softdep
init.  Decouples "options SOFTDEP" from the main kernel and ffs code.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sat Sep 1 21:40:58 2007 UTC (17 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +46 -3 lines
* add a very crude version of uvm_pageatop()
* add biodone/aiodone

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Aug 26 23:51:08 2007 UTC (17 years, 3 months ago) by pooka
Branches: MAIN
Branch point for: matt-armv6
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +8 -1 lines
few panicky functions

Revision 1.13.2.2: download - view: text, markup, annotated - select for diffs
Mon Aug 20 22:07:31 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.13.2.1: preferred, colored
Changes since revision 1.13.2.1: +500 -0 lines
Sync with HEAD.

Revision 1.13.2.1
Mon Aug 20 15:58:14 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
FILE REMOVED
Changes since revision 1.13: +0 -500 lines
file vm.c was added on branch vmlocking on 2007-08-20 22:07:31 +0000

Revision 1.13: download - view: text, markup, annotated - select for diffs
Mon Aug 20 15:58:14 2007 UTC (17 years, 3 months ago) by pooka
Branches: MAIN
Branch point for: vmlocking
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +2 -2 lines
Hide NetBSD kernel headers completely from ukfs.  This includes creating
accessors for:
  * struct mount & VFS ops
  * struct uio
  * struct vnode
  * struct vattr

and some namespace games for:
  * namei flags
  * VOPs
  * enum vtype

Also, split rump services into two categories: library private and public
(rump_private.h and rump.h, respectively).

As a result, it is now possible to compile and use the NetBSD kernel
file systems on Linux (and probably other systems too with very
little work), although the makefiles need a bit of work to make it
a pleasureable experience.

Revision 1.12.2.2: download - view: text, markup, annotated - select for diffs
Wed Aug 15 13:50:43 2007 UTC (17 years, 4 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.12.2.1: preferred, colored
Changes since revision 1.12.2.1: +500 -0 lines
Sync with HEAD.

Revision 1.12.2.1
Tue Aug 14 13:54:15 2007 UTC (17 years, 4 months ago) by skrll
Branches: nick-csl-alignment
FILE REMOVED
Changes since revision 1.12: +0 -500 lines
file vm.c was added on branch nick-csl-alignment on 2007-08-15 13:50:43 +0000

Revision 1.12: download - view: text, markup, annotated - select for diffs
Tue Aug 14 13:54:15 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Branch point for: nick-csl-alignment
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +32 -1 lines
Kill handrolled buffercache and use vfs_bio from the kernel.  This is
mostly to get the flag jungle in sync with the kernel.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Aug 13 13:51:39 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +16 -1 lines
Use supermarket variety vfs_vnops.c instead of homecooked routines
(that's actually a good thing here).

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sat Aug 11 17:52:12 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +13 -39 lines
* move rump_vopwrite_fault() into history - we now support the file
  system faulting in pages if it does e.g. fragment reallocation
* get rid of rumpvm_findpage() and always use uvm_pagelookup()
* determine a vnode's cleanness by flagging it as being on the work
  list if we "take" a write fault and removing it from the worklist
  once pages are flushed.  There is no work list here, but at least
  there is symmetry with the kernel.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Aug 9 20:57:23 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +33 -1 lines
Play catchup with ufs/ffs changes: compile subr_specificdata.c
and emulate kmem_foo() to support the prior.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Thu Aug 9 13:53:36 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +1 -3 lines
Fix it a bit & wait for the dust to settle.  Also, enable UBC by default.

ffs in userspace on top of puffs/p2k/rump is now stable enough to
host a make -j4 kernel build (well, at least my kernel build ...
but, yes, I am currently running that kernel on my desktop)

Revision 1.7: download - view: text, markup, annotated - select for diffs
Thu Aug 9 08:56:45 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +55 -1 lines
Add some stubs for lfs.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Tue Aug 7 19:40:17 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +6 -8 lines
remove the allocstorage param from makepage - not needed

Revision 1.5: download - view: text, markup, annotated - select for diffs
Tue Aug 7 19:37:05 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +17 -11 lines
track dirty vm objects

Revision 1.4: download - view: text, markup, annotated - select for diffs
Tue Aug 7 19:14:51 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -3 lines
When doing "ubc faults", truncate offsets to page boundary to get
the last page also if it's accessed from the middle of the page.

Revision 1.3.2.2: download - view: text, markup, annotated - select for diffs
Mon Aug 6 20:46:29 2007 UTC (17 years, 4 months ago) by pooka
Branches: matt-mips64
Diff to: previous 1.3.2.1: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.2.1: +392 -0 lines
Instead of going for a PAGE_SIZE nuke, do getpages() in a more
sniper style.  Makes efs (& other file systems with bsize < PAGE_SIZE)
work better.

Revision 1.3.2.1
Mon Aug 6 20:46:28 2007 UTC (17 years, 4 months ago) by pooka
Branches: matt-mips64
FILE REMOVED
Changes since revision 1.3: +0 -392 lines
file vm.c was added on branch matt-mips64 on 2007-08-06 20:46:29 +0000

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Aug 6 20:46:28 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
CVS tags: matt-mips64-base
Branch point for: matt-mips64
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -2 lines
Instead of going for a PAGE_SIZE nuke, do getpages() in a more
sniper style.  Makes efs (& other file systems with bsize < PAGE_SIZE)
work better.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Aug 6 16:09:33 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +26 -5 lines
implement uvm_vnp_zerorange()

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sun Aug 5 22:28:10 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
Introduce RUMPs - Runnable Userspace Meta-Programs

/sys/rump contains programs which run unmodified kernel code in an
emulated userspace environment.  The kernel environment is provided
by librump.  Currently supported are a number of file systems,
which by using puffs integrate seamlessly into the system and
provide a similar user experience to if the code was running as
part of the kernel.  Potential future rumpification targets include
for example parts of the networking stack and some device drivers.

This work was supported by Google Summer of Code 2007.

Diff request

This form allows you to request diffs 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.

Log view options

CVSweb <webmaster@jp.NetBSD.org>