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


Default branch: MAIN


Revision 1.197 / (download) - annotate - [select for diffs], Sun Sep 24 09:33:26 2023 UTC (4 months, 4 weeks ago) by martin
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.196: +5 -7 lines
Diff to previous 1.196 (colored)

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) - annotate - [select for diffs], Sat Apr 22 13:53:53 2023 UTC (10 months ago) by riastradh
Branch: MAIN
Changes since 1.195: +130 -2 lines
Diff to previous 1.195 (colored)

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) - annotate - [select for diffs], Sat Apr 22 13:53:37 2023 UTC (10 months ago) by riastradh
Branch: MAIN
Changes since 1.194: +6 -2 lines
Diff to previous 1.194 (colored)

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) - annotate - [select for diffs], Wed Oct 26 23:22:07 2022 UTC (15 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.193: +3 -3 lines
Diff to previous 1.193 (colored)

sys/*: Get module_map consistently from sys/module.h.

Revision 1.193 / (download) - annotate - [select for diffs], Sun Aug 21 10:18:20 2022 UTC (18 months ago) by riastradh
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.192: +15 -2 lines
Diff to previous 1.192 (colored)

rumpkern: Abusing struct pmap internals now requires extra effort.

(as it should)

Revision 1.192 / (download) - annotate - [select for diffs], Thu Sep 16 21:29:42 2021 UTC (2 years, 5 months ago) by andvar
Branch: MAIN
Changes since 1.191: +3 -3 lines
Diff to previous 1.191 (colored)

fix typos in word "successfully", mainly s/succesfully/successfully/.

Revision 1.173.14.1 / (download) - annotate - [select for diffs], Tue Jul 6 04:22:34 2021 UTC (2 years, 7 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE
Changes since 1.173: +35 -8 lines
Diff to previous 1.173 (colored) next main 1.174 (colored)

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) - annotate - [select for diffs], Mon Dec 14 14:38:16 2020 UTC (3 years, 2 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.190: +30 -5 lines
Diff to previous 1.190 (colored) next main 1.191 (colored)

Sync w/ HEAD.

Revision 1.191 / (download) - annotate - [select for diffs], Sat Dec 5 19:08:50 2020 UTC (3 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.190: +30 -5 lines
Diff to previous 1.190 (colored)

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) - annotate - [select for diffs], Thu Jun 11 19:20:46 2020 UTC (3 years, 8 months ago) by ad
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.189: +3 -3 lines
Diff to previous 1.189 (colored)

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) - annotate - [select for diffs], Sat Jun 6 22:31:40 2020 UTC (3 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.188: +3 -3 lines
Diff to previous 1.188 (colored)

Correction to previous - set VI_PAGES correctly.

Revision 1.188 / (download) - annotate - [select for diffs], Wed Jun 3 22:25:49 2020 UTC (3 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.187: +20 -42 lines
Diff to previous 1.187 (colored)

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) - annotate - [select for diffs], Wed Apr 8 14:09:01 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.173: +138 -94 lines
Diff to previous 1.173 (colored) next main 1.174 (colored)

Merge changes from current as of 20200406

Revision 1.187 / (download) - annotate - [select for diffs], Tue Mar 17 18:31:38 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.186: +5 -6 lines
Diff to previous 1.186 (colored)

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) - annotate - [select for diffs], Sat Mar 14 20:23:51 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.185: +40 -8 lines
Diff to previous 1.185 (colored)

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) - annotate - [select for diffs], Sat Mar 14 19:54:06 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.184: +20 -7 lines
Diff to previous 1.184 (colored)

rump - page/object dirtyness tracking corrections.

Revision 1.182.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:09 2020 UTC (3 years, 11 months ago) by ad
Branch: ad-namecache
Changes since 1.182.2.1: +17 -30 lines
Diff to previous 1.182.2.1 (colored) to branchpoint 1.182 (colored) next main 1.183 (colored)

Sync with head.

Revision 1.184 / (download) - annotate - [select for diffs], Sun Feb 23 15:46:42 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.183: +17 -30 lines
Diff to previous 1.183 (colored)

UVM locking changes, proposed on tech-kern:

- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock.
- Break v_interlock and vmobjlock apart.  v_interlock remains a mutex.
- Do partial PV list locking in the x86 pmap.  Others to follow later.

Revision 1.182.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:37 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.182: +3 -3 lines
Diff to previous 1.182 (colored)

Sync with head.

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

Merge from yamt-pagecache (after much testing):

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

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

Revision 1.182 / (download) - annotate - [select for diffs], Sun Jan 5 15:57:15 2020 UTC (4 years, 1 month ago) by para
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.181: +2 -12 lines
Diff to previous 1.181 (colored)

remove unused predicate function

likely unused since kmem changes

Revision 1.181 / (download) - annotate - [select for diffs], Thu Jan 2 16:56:58 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.180: +4 -2 lines
Diff to previous 1.180 (colored)

rump: initialize pg->interlock

Revision 1.180 / (download) - annotate - [select for diffs], Tue Dec 31 23:32:05 2019 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.179: +37 -2 lines
Diff to previous 1.179 (colored)

Fix rump.

Revision 1.179 / (download) - annotate - [select for diffs], Tue Dec 31 13:07:13 2019 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.178: +3 -3 lines
Diff to previous 1.178 (colored)

Rename uvm_free() -> uvm_availmem().

Revision 1.178 / (download) - annotate - [select for diffs], Tue Dec 31 12:40:27 2019 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.177: +4 -4 lines
Diff to previous 1.177 (colored)

Rename uvm_page_locked_p() -> uvm_page_owner_locked_p()

Revision 1.177 / (download) - annotate - [select for diffs], Sat Dec 21 12:59:12 2019 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.176: +9 -2 lines
Diff to previous 1.176 (colored)

Add uvm_free(): returns number of free pages in system.

Revision 1.176 / (download) - annotate - [select for diffs], Sun Dec 15 21:11:35 2019 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.175: +2 -5 lines
Diff to previous 1.175 (colored)

Merge from yamt-pagecache:

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

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

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

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

Ok yamt@.

Revision 1.174 / (download) - annotate - [select for diffs], Fri Dec 13 20:10:21 2019 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.173: +13 -12 lines
Diff to previous 1.173 (colored)

Break the global uvm_pageqlock into a per-page identity lock and a private
lock for use of the pagedaemon policy code.  Discussed on tech-kern.

PR kern/54209: NetBSD 8 large memory performance extremely low
PR kern/54210: NetBSD-8 processes presumably not exiting
PR kern/54727: writing a large file causes unreasonable system behaviour

Revision 1.130.2.5 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:16 2017 UTC (6 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.130.2.4: +66 -27 lines
Diff to previous 1.130.2.4 (colored) to branchpoint 1.130 (colored) next main 1.131 (colored)

update from HEAD

Revision 1.159.4.6 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:15 2017 UTC (6 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.159.4.5: +27 -2 lines
Diff to previous 1.159.4.5 (colored) to branchpoint 1.159 (colored) next main 1.160 (colored)

Sync with HEAD

Revision 1.170.6.2 / (download) - annotate - [select for diffs], Fri May 19 00:22:58 2017 UTC (6 years, 9 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.170.6.1: +9 -2 lines
Diff to previous 1.170.6.1 (colored) to branchpoint 1.170 (colored) next main 1.171 (colored)

Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)

Revision 1.173 / (download) - annotate - [select for diffs], Sun May 14 13:49:55 2017 UTC (6 years, 9 months ago) by nat
Branch: 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-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
Changes since 1.172: +9 -2 lines
Diff to previous 1.172 (colored)

Add uvm_map_pageable dummy function.  This means that the audio tests
should run again.

Ok christos@.

Revision 1.170.6.1 / (download) - annotate - [select for diffs], Thu May 11 02:58:41 2017 UTC (6 years, 9 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.170: +20 -2 lines
Diff to previous 1.170 (colored)

Sync with HEAD

Revision 1.172 / (download) - annotate - [select for diffs], Sun May 7 14:20:50 2017 UTC (6 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: prg-localcount2-base2
Changes since 1.171: +11 -3 lines
Diff to previous 1.171 (colored)

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) - annotate - [select for diffs], Sun May 7 11:48:39 2017 UTC (6 years, 9 months ago) by martin
Branch: MAIN
Changes since 1.170: +12 -2 lines
Diff to previous 1.170 (colored)

Add a dummy (non-working) uvm_map().
XXX someone with a clue please fix this for real!

Revision 1.159.4.5 / (download) - annotate - [select for diffs], Wed Oct 5 20:56:10 2016 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.159.4.4: +8 -2 lines
Diff to previous 1.159.4.4 (colored) to branchpoint 1.159 (colored)

Sync with HEAD

Revision 1.169.2.1 / (download) - annotate - [select for diffs], Tue Jul 26 03:24:24 2016 UTC (7 years, 6 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.169: +8 -2 lines
Diff to previous 1.169 (colored) next main 1.170 (colored)

Sync with HEAD

Revision 1.170 / (download) - annotate - [select for diffs], Wed Jul 20 17:03:50 2016 UTC (7 years, 7 months ago) by christos
Branch: 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
Changes since 1.169: +8 -2 lines
Diff to previous 1.169 (colored)

add uvm_km_protect()

Revision 1.159.4.4 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:37 2016 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.159.4.3: +6 -6 lines
Diff to previous 1.159.4.3 (colored) to branchpoint 1.159 (colored)

Sync with HEAD

Revision 1.169 / (download) - annotate - [select for diffs], Tue Jan 26 23:12:18 2016 UTC (8 years ago) by pooka
Branch: 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
Changes since 1.168: +6 -6 lines
Diff to previous 1.168 (colored)

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) - annotate - [select for diffs], Sun Dec 27 12:10:16 2015 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.159.4.2: +3 -3 lines
Diff to previous 1.159.4.2 (colored) to branchpoint 1.159 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.168 / (download) - annotate - [select for diffs], Thu Nov 26 15:13:43 2015 UTC (8 years, 2 months ago) by martin
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226
Changes since 1.167: +3 -3 lines
Diff to previous 1.167 (colored)

Adapt to e_default_mapaddr signature changes

Revision 1.159.4.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:29 2015 UTC (8 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.159.4.1: +12 -10 lines
Diff to previous 1.159.4.1 (colored) to branchpoint 1.159 (colored)

Sync with HEAD

Revision 1.167 / (download) - annotate - [select for diffs], Tue Jun 2 14:07:48 2015 UTC (8 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606
Changes since 1.166: +3 -3 lines
Diff to previous 1.166 (colored)

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) - annotate - [select for diffs], Sat Apr 18 15:49:18 2015 UTC (8 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.165: +3 -3 lines
Diff to previous 1.165 (colored)

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) - annotate - [select for diffs], Fri Apr 17 12:46:33 2015 UTC (8 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.164: +2 -4 lines
Diff to previous 1.164 (colored)

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) - annotate - [select for diffs], Fri Apr 17 12:43:16 2015 UTC (8 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.163: +7 -3 lines
Diff to previous 1.163 (colored)

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) - annotate - [select for diffs], Mon Apr 6 15:18:30 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.159: +27 -21 lines
Diff to previous 1.159 (colored)

Sync with HEAD

Revision 1.163 / (download) - annotate - [select for diffs], Fri Apr 3 16:46:39 2015 UTC (8 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.162: +3 -3 lines
Diff to previous 1.162 (colored)

Use RUMP_PMAP_KERNEL and RUMP_PMAP_LOCAL to denote
kernel and local client pmaps, respectively.

Revision 1.162 / (download) - annotate - [select for diffs], Fri Apr 3 16:40:55 2015 UTC (8 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.161: +10 -3 lines
Diff to previous 1.161 (colored)

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) - annotate - [select for diffs], Sat Jan 3 17:23:51 2015 UTC (9 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.160: +3 -3 lines
Diff to previous 1.160 (colored)

Put all sysproxy routines to their own C module, sysproxy.c

Revision 1.159.2.1 / (download) - annotate - [select for diffs], Wed Dec 31 06:44:00 2014 UTC (9 years, 1 month ago) by snj
Branch: 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
Changes since 1.159: +19 -20 lines
Diff to previous 1.159 (colored) next main 1.160 (colored)

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) - annotate - [select for diffs], Sun Dec 14 23:48:58 2014 UTC (9 years, 2 months ago) by chs
Branch: MAIN
Changes since 1.159: +19 -20 lines
Diff to previous 1.159 (colored)

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) - annotate - [select for diffs], Wed Aug 20 00:04:41 2014 UTC (9 years, 6 months ago) by tls
Branch: tls-maxphys
Changes since 1.130.2.3: +75 -26 lines
Diff to previous 1.130.2.3 (colored) to branchpoint 1.130 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.152.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:51 2014 UTC (9 years, 6 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.152: +56 -14 lines
Diff to previous 1.152 (colored) next main 1.153 (colored)

Rebase.

Revision 1.159 / (download) - annotate - [select for diffs], Sun Jun 15 12:58:01 2014 UTC (9 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, nick-nhusb-base, netbsd-7-base
Branch point for: nick-nhusb, netbsd-7
Changes since 1.158: +11 -5 lines
Diff to previous 1.158 (colored)

update comment

Revision 1.158 / (download) - annotate - [select for diffs], Fri Jun 13 11:53:48 2014 UTC (9 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.157: +9 -5 lines
Diff to previous 1.157 (colored)

make sure we don't underflow the memlimit

Revision 1.157 / (download) - annotate - [select for diffs], Fri Jun 13 11:48:56 2014 UTC (9 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.156: +21 -7 lines
Diff to previous 1.156 (colored)

fill in a few more uvmexp entries

Revision 1.120.2.10 / (download) - annotate - [select for diffs], Thu May 22 11:41:15 2014 UTC (9 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.9: +78 -58 lines
Diff to previous 1.120.2.9 (colored) to branchpoint 1.120 (colored) next main 1.121 (colored)

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) - annotate - [select for diffs], Sun May 18 17:46:18 2014 UTC (9 years, 9 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.144: +48 -23 lines
Diff to previous 1.144 (colored) next main 1.145 (colored)

sync with head

Revision 1.156 / (download) - annotate - [select for diffs], Fri Apr 25 13:20:45 2014 UTC (9 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base
Changes since 1.155: +3 -4 lines
Diff to previous 1.155 (colored)

Init function pointers to nullop() so that callers don't need a dance

Revision 1.155 / (download) - annotate - [select for diffs], Sat Apr 12 20:24:46 2014 UTC (9 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.154: +5 -2 lines
Diff to previous 1.154 (colored)

apparently DFLSSIZ isn't defined on powerpc, so pull a value out of el stetson

Revision 1.154 / (download) - annotate - [select for diffs], Thu Apr 10 22:14:03 2014 UTC (9 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.153: +4 -3 lines
Diff to previous 1.153 (colored)

Pretend that we have slightly more reasonable stack size limits.
(we don't have stacks, that's why we pretend)

Revision 1.153 / (download) - annotate - [select for diffs], Wed Apr 9 23:53:36 2014 UTC (9 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.152: +17 -2 lines
Diff to previous 1.152 (colored)

implement lwp_create() and a few related interfaces.
main raison d'impalerment: the aio driver

Revision 1.152 / (download) - annotate - [select for diffs], Tue Mar 11 20:32:05 2014 UTC (9 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.151: +7 -3 lines
Diff to previous 1.151 (colored)

kill undesirable #ifndef _RUMPKERNEL

Revision 1.151 / (download) - annotate - [select for diffs], Tue Mar 11 20:22:47 2014 UTC (9 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.150: +2 -12 lines
Diff to previous 1.150 (colored)

deduplicate uvm_object_printit() implementation

Revision 1.150 / (download) - annotate - [select for diffs], Mon Mar 3 16:50:28 2014 UTC (9 years, 11 months ago) by pooka
Branch: MAIN
Changes since 1.149: +6 -5 lines
Diff to previous 1.149 (colored)

Fix the memory limiter to work for non-pagedaemon threads again

reported by njoly

Revision 1.149 / (download) - annotate - [select for diffs], Tue Feb 18 06:18:13 2014 UTC (10 years ago) by pooka
Branch: MAIN
Changes since 1.148: +2 -7 lines
Diff to previous 1.148 (colored)

Use same uvm_swap_shutdown() stub for !vmswap kernels and rump kernels.

Revision 1.148 / (download) - annotate - [select for diffs], Mon Feb 17 19:43:52 2014 UTC (10 years ago) by pooka
Branch: MAIN
Changes since 1.147: +5 -5 lines
Diff to previous 1.147 (colored)

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) - annotate - [select for diffs], Mon Feb 17 19:33:05 2014 UTC (10 years ago) by pooka
Branch: MAIN
Changes since 1.146: +18 -7 lines
Diff to previous 1.146 (colored)

reserve a small amount of memory for the pagedaemon

Revision 1.41.8.3 / (download) - annotate - [select for diffs], Thu Dec 19 01:20:41 2013 UTC (10 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.41.8.2: +2 -1 lines
Diff to previous 1.41.8.2 (colored) to branchpoint 1.41 (colored) next main 1.42 (colored)

Adapt to new uvm_estimatepageable arguments

Revision 1.146 / (download) - annotate - [select for diffs], Sat Nov 23 22:24:31 2013 UTC (10 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.145: +7 -2 lines
Diff to previous 1.145 (colored)

add a copy of uvm_swap_shutdown() here so that it is not undefined when we
use it.

Revision 1.145 / (download) - annotate - [select for diffs], Thu Nov 14 12:07:11 2013 UTC (10 years, 3 months ago) by martin
Branch: MAIN
Changes since 1.144: +4 -3 lines
Diff to previous 1.144 (colored)

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) - annotate - [select for diffs], Sun Jun 23 06:20:28 2013 UTC (10 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.130.2.2: +31 -35 lines
Diff to previous 1.130.2.2 (colored) to branchpoint 1.130 (colored)

resync from head

Revision 1.144 / (download) - annotate - [select for diffs], Tue Apr 30 16:03:44 2013 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900
Branch point for: rmind-smpnet
Changes since 1.143: +3 -3 lines
Diff to previous 1.143 (colored)

Flip parameter order in the clock hypercalls to make them consistent
with everything else wrt in/out parameters.

Revision 1.143 / (download) - annotate - [select for diffs], Tue Apr 30 00:29:19 2013 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.142: +3 -3 lines
Diff to previous 1.142 (colored)

add missing demogorgon

Revision 1.142 / (download) - annotate - [select for diffs], Tue Apr 30 00:03:53 2013 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.141: +11 -10 lines
Diff to previous 1.141 (colored)

Make hypercall calling conventions consistent: iff a hypercall can fail,
it returns an int containing the error value.

Revision 1.141 / (download) - annotate - [select for diffs], Mon Apr 29 17:31:05 2013 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.140: +3 -4 lines
Diff to previous 1.140 (colored)

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) - annotate - [select for diffs], Sun Apr 28 23:21:00 2013 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.139: +6 -6 lines
Diff to previous 1.139 (colored)

Appearances count: spell "IPL_NONE" correctly.

Revision 1.139 / (download) - annotate - [select for diffs], Sun Apr 28 13:17:25 2013 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.138: +3 -7 lines
Diff to previous 1.138 (colored)

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) - annotate - [select for diffs], Sat Apr 27 15:34:53 2013 UTC (10 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.137: +4 -4 lines
Diff to previous 1.137 (colored)

* 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) - annotate - [select for diffs], Sun Mar 10 17:05:12 2013 UTC (10 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: agc-symver-base, agc-symver
Changes since 1.136: +2 -4 lines
Diff to previous 1.136 (colored)

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) - annotate - [select for diffs], Wed Mar 6 11:42:18 2013 UTC (10 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.135: +14 -12 lines
Diff to previous 1.135 (colored)

simplify code
add a comment

Revision 1.130.2.2 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:09 2013 UTC (10 years, 11 months ago) by tls
Branch: tls-maxphys
Changes since 1.130.2.1: +5 -5 lines
Diff to previous 1.130.2.1 (colored) to branchpoint 1.130 (colored)

resync with head

Revision 1.135 / (download) - annotate - [select for diffs], Tue Jan 29 21:26:24 2013 UTC (11 years ago) by para
Branch: MAIN
Changes since 1.134: +3 -4 lines
Diff to previous 1.134 (colored)

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) - annotate - [select for diffs], Sat Jan 26 15:18:01 2013 UTC (11 years ago) by para
Branch: MAIN
Changes since 1.133: +2 -1 lines
Diff to previous 1.133 (colored)

revert previous commit not yet fully functional, sorry

Revision 1.133 / (download) - annotate - [select for diffs], Sat Jan 26 13:50:33 2013 UTC (11 years ago) by para
Branch: MAIN
Changes since 1.132: +3 -4 lines
Diff to previous 1.132 (colored)

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) - annotate - [select for diffs], Wed Jan 23 00:06:29 2013 UTC (11 years, 1 month ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.120.2.8: +4 -3 lines
Diff to previous 1.120.2.8 (colored) to branchpoint 1.120 (colored)

sync with head

Revision 1.120.2.8 / (download) - annotate - [select for diffs], Wed Jan 16 05:33:52 2013 UTC (11 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.7: +2 -4 lines
Diff to previous 1.120.2.7 (colored) to branchpoint 1.120 (colored)

sync with (a bit old) head

Revision 1.132 / (download) - annotate - [select for diffs], Mon Jan 14 16:45:47 2013 UTC (11 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.131: +4 -3 lines
Diff to previous 1.131 (colored)

Don't use __weak_alias where the component framework is sufficient.

Revision 1.130.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:02:50 2012 UTC (11 years, 3 months ago) by tls
Branch: tls-maxphys
Changes since 1.130: +2 -4 lines
Diff to previous 1.130 (colored)

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

Revision 1.131 / (download) - annotate - [select for diffs], Tue Nov 13 20:10:02 2012 UTC (11 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base7
Changes since 1.130: +2 -4 lines
Diff to previous 1.130 (colored)

kill some -Wunused-but-set-variable warnings

Revision 1.120.2.7 / (download) - annotate - [select for diffs], Fri Nov 2 08:19:04 2012 UTC (11 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.6: +2 -14 lines
Diff to previous 1.120.2.6 (colored) to branchpoint 1.120 (colored)

fix a merge botch

Revision 1.120.2.6 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:54 2012 UTC (11 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.5: +40 -21 lines
Diff to previous 1.120.2.5 (colored) to branchpoint 1.120 (colored)

sync with head

Revision 1.130 / (download) - annotate - [select for diffs], Fri Jul 27 09:06:01 2012 UTC (11 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.129: +20 -9 lines
Diff to previous 1.129 (colored)

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) - annotate - [select for diffs], Fri Jul 20 09:20:05 2012 UTC (11 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.128: +4 -4 lines
Diff to previous 1.128 (colored)

Make it possible to select between real and unreal allocators from
make.  Plus some gratuitous renaming.

Revision 1.128 / (download) - annotate - [select for diffs], Fri Jul 20 09:11:33 2012 UTC (11 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.127: +5 -2 lines
Diff to previous 1.127 (colored)

make unreal allocators work again

Revision 1.127 / (download) - annotate - [select for diffs], Tue Jun 5 22:51:47 2012 UTC (11 years, 8 months ago) by jym
Branch: MAIN
Changes since 1.126: +9 -14 lines
Diff to previous 1.126 (colored)

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) - annotate - [select for diffs], Sat Jun 2 11:09:39 2012 UTC (11 years, 8 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.120.6.4: +10 -0 lines
Diff to previous 1.120.6.4 (colored) to branchpoint 1.120 (colored) next main 1.121 (colored)

sync to latest -current.

Revision 1.126 / (download) - annotate - [select for diffs], Wed May 23 14:59:21 2012 UTC (11 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: jmcneill-usbmp-base10
Changes since 1.125: +12 -2 lines
Diff to previous 1.125 (colored)

Recently uvm_page_locked_p() leaked outside of uvm/MD code, so rump
needs to provide one.

Revision 1.120.2.5 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:49 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.4: +39 -75 lines
Diff to previous 1.120.2.4 (colored) to branchpoint 1.120 (colored)

sync with head

Revision 1.120.6.4 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:49 2012 UTC (11 years, 10 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.120.6.3: +2 -3 lines
Diff to previous 1.120.6.3 (colored) to branchpoint 1.120 (colored)

sync to latest -current.

Revision 1.122.2.2 / (download) - annotate - [select for diffs], Tue Apr 3 16:14:02 2012 UTC (11 years, 10 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, 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
Changes since 1.122.2.1: +1 -1 lines
Diff to previous 1.122.2.1 (colored) to branchpoint 1.122 (colored) next main 1.123 (colored)

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) - annotate - [select for diffs], Sun Mar 25 11:29:59 2012 UTC (11 years, 11 months ago) by bouyer
Branch: netbsd-6
Changes since 1.122: +2 -3 lines
Diff to previous 1.122 (colored)

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) - annotate - [select for diffs], Sat Mar 17 17:58:38 2012 UTC (11 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8
Changes since 1.124: +2 -3 lines
Diff to previous 1.124 (colored)

Don't take a mutex we already took 6 lines above.

Revision 1.120.6.3 / (download) - annotate - [select for diffs], Tue Mar 6 18:26:49 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.120.6.2: +3 -3 lines
Diff to previous 1.120.6.2 (colored) to branchpoint 1.120 (colored)

sync to -current

Revision 1.124 / (download) - annotate - [select for diffs], Mon Mar 5 13:43:56 2012 UTC (11 years, 11 months ago) by para
Branch: MAIN
CVS Tags: jmcneill-usbmp-base7, jmcneill-usbmp-base6
Changes since 1.123: +3 -3 lines
Diff to previous 1.123 (colored)

adjust rump for static pool_cache count
should have went in with subr_vmem 1.73

Revision 1.120.6.2 / (download) - annotate - [select for diffs], Fri Feb 24 09:11:50 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.120.6.1: +5 -5 lines
Diff to previous 1.120.6.1 (colored) to branchpoint 1.120 (colored)

sync to -current.

Revision 1.123 / (download) - annotate - [select for diffs], Sun Feb 19 09:19:41 2012 UTC (12 years ago) by martin
Branch: MAIN
CVS Tags: jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3
Changes since 1.122: +5 -5 lines
Diff to previous 1.122 (colored)

Adapt to constification in sys/uvm/uvm_export.h

Revision 1.120.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:46 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.120: +35 -70 lines
Diff to previous 1.120 (colored)

merge to -current.

Revision 1.41.8.2 / (download) - annotate - [select for diffs], Fri Feb 10 06:00:55 2012 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.41.8.1: +0 -1 lines
Diff to previous 1.41.8.1 (colored) to branchpoint 1.41 (colored)

uvm_pageout_done doesn't return anything more (it's void).

Revision 1.41.8.1 / (download) - annotate - [select for diffs], Thu Feb 9 03:15:18 2012 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.41: +14 -5 lines
Diff to previous 1.41 (colored)

Update uvm_pageout_done defintion.

Revision 1.122 / (download) - annotate - [select for diffs], Sun Jan 29 14:57:31 2012 UTC (12 years ago) by njoly
Branch: MAIN
CVS Tags: netbsd-6-base, jmcneill-usbmp-base2
Branch point for: netbsd-6
Changes since 1.121: +3 -2 lines
Diff to previous 1.121 (colored)

Move pool subsystem init from rump__init() to uvm_init(), following
kernel code. Fix RUMP_LOCKDEBUG early panic.

Revision 1.121 / (download) - annotate - [select for diffs], Fri Jan 27 19:48:41 2012 UTC (12 years ago) by para
Branch: MAIN
Changes since 1.120: +34 -70 lines
Diff to previous 1.120 (colored)

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

releng@ acknowledged

Revision 1.120.2.4 / (download) - annotate - [select for diffs], Wed Jan 25 00:42:35 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.3: +1 -1 lines
Diff to previous 1.120.2.3 (colored) to branchpoint 1.120 (colored)

uvm_loanabj: take an access pattern hint.

Revision 1.120.2.3 / (download) - annotate - [select for diffs], Sat Jan 14 04:36:39 2012 UTC (12 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.2: +7 -0 lines
Diff to previous 1.120.2.2 (colored) to branchpoint 1.120 (colored)

implement a rump stub of uvm_loanobj

Revision 1.120.2.2 / (download) - annotate - [select for diffs], Thu Nov 10 14:33:18 2011 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120.2.1: +0 -3 lines
Diff to previous 1.120.2.1 (colored) to branchpoint 1.120 (colored)

remove uobj->memq

Revision 1.120.2.1 / (download) - annotate - [select for diffs], Wed Nov 2 21:53:59 2011 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.120: +23 -34 lines
Diff to previous 1.120 (colored)

page cache related changes

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

Revision 1.120 / (download) - annotate - [select for diffs], Mon Oct 31 13:23:55 2011 UTC (12 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.119: +3 -3 lines
Diff to previous 1.119 (colored)

replace a non us-ascii character in a comment

Revision 1.119 / (download) - annotate - [select for diffs], Fri Sep 2 10:18:38 2011 UTC (12 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.118: +2 -8 lines
Diff to previous 1.118 (colored)

trylockowner is not needed anymore.

Revision 1.118 / (download) - annotate - [select for diffs], Thu Sep 1 21:09:07 2011 UTC (12 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.117: +8 -2 lines
Diff to previous 1.117 (colored)

fix the build for rumpserver.

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

Catchup with rmind-uvmplock merge.

Revision 1.117 / (download) - annotate - [select for diffs], Sun Jun 19 18:29:25 2011 UTC (12 years, 8 months ago) by hannken
Branch: MAIN
Changes since 1.116: +2 -3 lines
Diff to previous 1.116 (colored)

Make ubc_purge() a noop.

Revision 1.116 / (download) - annotate - [select for diffs], Sun Jun 12 06:36:38 2011 UTC (12 years, 8 months ago) by mrg
Branch: MAIN
Changes since 1.115: +16 -2 lines
Diff to previous 1.115 (colored)

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) - annotate - [select for diffs], Sun Jun 12 03:35:59 2011 UTC (12 years, 8 months ago) by rmind
Branch: MAIN
Changes since 1.114: +9 -9 lines
Diff to previous 1.114 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.70.4.6 / (download) - annotate - [select for diffs], Sun Jun 12 02:39:37 2011 UTC (12 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70.4.5: +6 -6 lines
Diff to previous 1.70.4.5 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored)

Sync RUMP's uvm_pagealloc_strat() and processpage() with branch changes.

Revision 1.106.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:08 2011 UTC (12 years, 8 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.106: +80 -33 lines
Diff to previous 1.106 (colored) next main 1.107 (colored)

Sync with HEAD.

Revision 1.70.4.5 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:17 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70.4.4: +1 -1 lines
Diff to previous 1.70.4.4 (colored) to branchpoint 1.70 (colored)

sync with head

Revision 1.114 / (download) - annotate - [select for diffs], Mon Mar 21 16:41:08 2011 UTC (12 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.113: +3 -3 lines
Diff to previous 1.113 (colored)

Update copyright statements.

no functional change.

Revision 1.70.4.4 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:15 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70.4.3: +464 -177 lines
Diff to previous 1.70.4.3 (colored) to branchpoint 1.70 (colored)

sync with head

Revision 1.107.2.3 / (download) - annotate - [select for diffs], Sat Mar 5 15:10:50 2011 UTC (12 years, 11 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.107.2.2: +52 -28 lines
Diff to previous 1.107.2.2 (colored) next main 1.108 (colored)

Sync with HEAD

Revision 1.113 / (download) - annotate - [select for diffs], Tue Feb 22 20:17:38 2011 UTC (13 years ago) by pooka
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.112: +34 -25 lines
Diff to previous 1.112 (colored)

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) - annotate - [select for diffs], Tue Feb 22 18:43:20 2011 UTC (13 years ago) by pooka
Branch: MAIN
Changes since 1.111: +20 -5 lines
Diff to previous 1.111 (colored)

complete the incomplete pagesize rototill

Revision 1.107.2.2 / (download) - annotate - [select for diffs], Thu Feb 17 12:00:51 2011 UTC (13 years ago) by bouyer
Branch: bouyer-quota2
Changes since 1.107.2.1: +13 -5 lines
Diff to previous 1.107.2.1 (colored)

Sync with HEAD

Revision 1.111 / (download) - annotate - [select for diffs], Thu Feb 10 14:46:45 2011 UTC (13 years ago) by pooka
Branch: MAIN
CVS Tags: bouyer-quota2-base
Changes since 1.110: +12 -5 lines
Diff to previous 1.110 (colored)

Make vmapbuf() return success/error and make physio deal with a
failure.

Revision 1.110 / (download) - annotate - [select for diffs], Thu Feb 10 13:49:10 2011 UTC (13 years ago) by pooka
Branch: MAIN
Changes since 1.109: +4 -3 lines
Diff to previous 1.109 (colored)

Set b_error in vunmapbuf() if copyout_proc fails.
XXX: what if copyin fails in vmapbuf()?

Revision 1.107.2.1 / (download) - annotate - [select for diffs], Tue Feb 8 16:20:04 2011 UTC (13 years ago) by bouyer
Branch: bouyer-quota2
Changes since 1.107: +12 -11 lines
Diff to previous 1.107 (colored)

Sync with HEAD

Revision 1.109 / (download) - annotate - [select for diffs], Sat Feb 5 17:25:45 2011 UTC (13 years ago) by pooka
Branch: MAIN
Changes since 1.108: +3 -3 lines
Diff to previous 1.108 (colored)

Use correct strtoululululu variant.

from Taylor R Campbell

Revision 1.108 / (download) - annotate - [select for diffs], Sat Jan 22 13:13:46 2011 UTC (13 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.107: +11 -10 lines
Diff to previous 1.107 (colored)

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) - annotate - [select for diffs], Tue Jan 18 22:21:23 2011 UTC (13 years, 1 month ago) by haad
Branch: MAIN
Branch point for: bouyer-quota2
Changes since 1.106: +16 -2 lines
Diff to previous 1.106 (colored)

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) - annotate - [select for diffs], Thu Jan 13 15:38:29 2011 UTC (13 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: jruoho-x86intr-base
Branch point for: jruoho-x86intr
Changes since 1.105: +5 -5 lines
Diff to previous 1.105 (colored)

Introduce RUMP_LOCALPROC_P() macro and use it.

Revision 1.105 / (download) - annotate - [select for diffs], Sat Jan 8 09:40:05 2011 UTC (13 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.104: +33 -4 lines
Diff to previous 1.104 (colored)

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) - annotate - [select for diffs], Wed Dec 1 20:29:57 2010 UTC (13 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231
Changes since 1.103: +47 -8 lines
Diff to previous 1.103 (colored)

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) - annotate - [select for diffs], Wed Dec 1 11:19:18 2010 UTC (13 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.102: +13 -10 lines
Diff to previous 1.102 (colored)

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) - annotate - [select for diffs], Mon Nov 22 20:42:19 2010 UTC (13 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.101: +28 -18 lines
Diff to previous 1.101 (colored)

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) - annotate - [select for diffs], Wed Nov 17 19:54:09 2010 UTC (13 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.100: +5 -5 lines
Diff to previous 1.100 (colored)

cleanup some old garbage

Revision 1.100 / (download) - annotate - [select for diffs], Tue Nov 16 01:12:57 2010 UTC (13 years, 3 months ago) by uebayasi
Branch: MAIN
Changes since 1.99: +3 -0 lines
Diff to previous 1.99 (colored)

Define uvmexp_pagemask and friends used by sparc to set PAGE_SIZE,
PAGE_MASK, PAGE_SHIFT dynamically.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Nov 12 05:23:41 2010 UTC (13 years, 3 months ago) by uebayasi
Branch: MAIN
Changes since 1.98: +20 -2 lines
Diff to previous 1.98 (colored)

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) - annotate - [select for diffs], Sat Nov 6 08:08:51 2010 UTC (13 years, 3 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.70.2.4: +8 -3 lines
Diff to previous 1.70.2.4 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored)

Sync with HEAD.

Revision 1.98 / (download) - annotate - [select for diffs], Wed Oct 27 20:44:49 2010 UTC (13 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base4
Changes since 1.97: +8 -3 lines
Diff to previous 1.97 (colored)

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) - annotate - [select for diffs], Fri Oct 22 07:22:51 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.70.2.3: +280 -149 lines
Diff to previous 1.70.2.3 (colored) to branchpoint 1.70 (colored)

Sync with HEAD (-D20101022).

Revision 1.97 / (download) - annotate - [select for diffs], Wed Oct 13 11:01:04 2010 UTC (13 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base3
Changes since 1.96: +13 -4 lines
Diff to previous 1.96 (colored)

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) - annotate - [select for diffs], Sat Oct 9 03:32:44 2010 UTC (13 years, 4 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.30.4.5: +272 -150 lines
Diff to previous 1.30.4.5 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)

sync with head

Revision 1.96 / (download) - annotate - [select for diffs], Fri Sep 24 22:51:51 2010 UTC (13 years, 5 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11
Changes since 1.95: +13 -11 lines
Diff to previous 1.95 (colored)

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

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

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

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

Revision 1.95 / (download) - annotate - [select for diffs], Thu Sep 9 12:23:06 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.94: +35 -26 lines
Diff to previous 1.94 (colored)

* unlock object in "error" branch
* fix typo (not in comment)
* improve indentation tailspin

Revision 1.94 / (download) - annotate - [select for diffs], Thu Sep 9 10:02:14 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.93: +5 -2 lines
Diff to previous 1.93 (colored)

Assert that object is locked in page unbusy.

Revision 1.93 / (download) - annotate - [select for diffs], Wed Sep 8 21:14:32 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.92: +8 -7 lines
Diff to previous 1.92 (colored)

Actually, we want to say "no aobjs" instead of "only vnodes" to
make component boundaries go right.

Revision 1.92 / (download) - annotate - [select for diffs], Wed Sep 8 21:02:11 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.91: +186 -38 lines
Diff to previous 1.91 (colored)

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) - annotate - [select for diffs], Tue Sep 7 21:11:10 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.90: +11 -10 lines
Diff to previous 1.90 (colored)

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) - annotate - [select for diffs], Tue Sep 7 07:47:36 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.89: +30 -8 lines
Diff to previous 1.89 (colored)

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) - annotate - [select for diffs], Tue Sep 7 06:06:54 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.88: +32 -13 lines
Diff to previous 1.88 (colored)

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) - annotate - [select for diffs], Mon Sep 6 20:10:20 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.87: +13 -96 lines
Diff to previous 1.87 (colored)

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) - annotate - [select for diffs], Tue Aug 17 06:48:02 2010 UTC (13 years, 6 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.70.2.2: +271 -61 lines
Diff to previous 1.70.2.2 (colored) to branchpoint 1.70 (colored)

Sync with HEAD.

Revision 1.30.4.5 / (download) - annotate - [select for diffs], Wed Aug 11 22:55:07 2010 UTC (13 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.30.4.4: +282 -64 lines
Diff to previous 1.30.4.4 (colored) to branchpoint 1.30 (colored)

sync with head.

Revision 1.87 / (download) - annotate - [select for diffs], Thu Jul 29 15:13:00 2010 UTC (13 years, 6 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10, uebayasi-xip-base2
Changes since 1.86: +4 -2 lines
Diff to previous 1.86 (colored)

Correct previous.  Skip marker pages in uvm_pagelookup().
Already awake :-)

Revision 1.86 / (download) - annotate - [select for diffs], Thu Jul 29 15:04:04 2010 UTC (13 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.85: +2 -3 lines
Diff to previous 1.85 (colored)

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) - annotate - [select for diffs], Thu Jul 29 10:54:50 2010 UTC (13 years, 6 months ago) by hannken
Branch: MAIN
Changes since 1.84: +3 -2 lines
Diff to previous 1.84 (colored)

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) - annotate - [select for diffs], Sat Jul 3 01:20:02 2010 UTC (13 years, 7 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70.4.2: +261 -62 lines
Diff to previous 1.70.4.2 (colored) to branchpoint 1.70 (colored)

sync with head

Revision 1.84 / (download) - annotate - [select for diffs], Mon Jun 14 21:04:56 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.83: +49 -4 lines
Diff to previous 1.83 (colored)

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) - annotate - [select for diffs], Thu Jun 10 21:40:42 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.82: +36 -6 lines
Diff to previous 1.82 (colored)

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) - annotate - [select for diffs], Wed Jun 9 12:02:37 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.81: +28 -4 lines
Diff to previous 1.81 (colored)

On amd64, allocate module_map memory from the lowest 2GB.

Revision 1.81 / (download) - annotate - [select for diffs], Wed Jun 9 11:35:36 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.80: +5 -4 lines
Diff to previous 1.80 (colored)

Add the ability to specify a preferred address the "map anon memory"
hypercall.

Revision 1.80 / (download) - annotate - [select for diffs], Thu Jun 3 10:56:20 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.79: +144 -37 lines
Diff to previous 1.79 (colored)

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) - annotate - [select for diffs], Wed Jun 2 10:55:18 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.78: +3 -3 lines
Diff to previous 1.78 (colored)

rumpvm_init -> uvm_init to get rid of local prototype.
no functional change

Revision 1.78 / (download) - annotate - [select for diffs], Tue Jun 1 20:11:33 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.77: +3 -3 lines
Diff to previous 1.77 (colored)

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) - annotate - [select for diffs], Tue Jun 1 19:18:20 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.76: +4 -10 lines
Diff to previous 1.76 (colored)

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) - annotate - [select for diffs], Tue Jun 1 10:29:21 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.75: +13 -15 lines
Diff to previous 1.75 (colored)

* remove rumpvm_makepage, just use uvm_pagealloc()
* update copyright to reflect reality a little better

Revision 1.70.4.2 / (download) - annotate - [select for diffs], Sun May 30 05:18:06 2010 UTC (13 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70.4.1: +21 -4 lines
Diff to previous 1.70.4.1 (colored) to branchpoint 1.70 (colored)

sync with head

Revision 1.75 / (download) - annotate - [select for diffs], Wed May 26 21:48:20 2010 UTC (13 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.74: +3 -3 lines
Diff to previous 1.74 (colored)

print vm object refcount

Revision 1.74 / (download) - annotate - [select for diffs], Fri May 14 13:04:14 2010 UTC (13 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.73: +9 -2 lines
Diff to previous 1.73 (colored)

Pick up after people who find build-testing their changes too difficult.

Revision 1.73 / (download) - annotate - [select for diffs], Tue May 11 14:06:08 2010 UTC (13 years, 9 months ago) by pooka
Branch: MAIN
Changes since 1.72: +4 -2 lines
Diff to previous 1.72 (colored)

uvm_object_printit() should be wrapped in DEBUGPRINT

Revision 1.70.2.2 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:30 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.70.2.1: +9 -1 lines
Diff to previous 1.70.2.1 (colored) to branchpoint 1.70 (colored)

Sync with HEAD.

Revision 1.70.2.1 / (download) - annotate - [select for diffs], Thu Apr 29 06:31:13 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.70: +9 -2 lines
Diff to previous 1.70 (colored)

Fix build of rump.

Revision 1.72 / (download) - annotate - [select for diffs], Wed Apr 28 16:34:25 2010 UTC (13 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (colored)

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) - annotate - [select for diffs], Wed Apr 21 16:16:31 2010 UTC (13 years, 10 months ago) by pooka
Branch: MAIN
Changes since 1.70: +10 -2 lines
Diff to previous 1.70 (colored)

support kern_resource

Revision 1.70.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:13 2010 UTC (13 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70: +9 -9 lines
Diff to previous 1.70 (colored)

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

Revision 1.30.4.4 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:38 2010 UTC (13 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.30.4.3: +46 -67 lines
Diff to previous 1.30.4.3 (colored) to branchpoint 1.30 (colored)

sync with head

Revision 1.70 / (download) - annotate - [select for diffs], Fri Dec 4 17:57:16 2009 UTC (14 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.69: +2 -6 lines
Diff to previous 1.69 (colored)

g/c unused functions (previously used by the vnode pager).

Revision 1.69 / (download) - annotate - [select for diffs], Fri Dec 4 17:15:47 2009 UTC (14 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.68: +25 -3 lines
Diff to previous 1.68 (colored)

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) - annotate - [select for diffs], Fri Dec 4 16:47:33 2009 UTC (14 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.67: +9 -3 lines
Diff to previous 1.67 (colored)

Provide the default_mapaddr method in default rump emul (since some
kernel callers want to use it).

Revision 1.67 / (download) - annotate - [select for diffs], Wed Nov 4 18:25:36 2009 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.66: +3 -43 lines
Diff to previous 1.66 (colored)

Pull all relegating memory allocators under a common roof in memalloc.c

Revision 1.66 / (download) - annotate - [select for diffs], Wed Nov 4 16:55:20 2009 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.65: +20 -2 lines
Diff to previous 1.65 (colored)

Use std. uiomove() & friends.

Revision 1.65 / (download) - annotate - [select for diffs], Wed Oct 21 23:13:53 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: jym-xensuspend-nbase
Changes since 1.64: +2 -9 lines
Diff to previous 1.64 (colored)

Sync rump with kernel changes.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:06 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.63: +2 -17 lines
Diff to previous 1.63 (colored)

Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code.  Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.

Revision 1.63 / (download) - annotate - [select for diffs], Mon Oct 19 22:31:47 2009 UTC (14 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.62: +2 -10 lines
Diff to previous 1.62 (colored)

remove stale uvm_readahead() stub

Revision 1.62 / (download) - annotate - [select for diffs], Fri Oct 16 00:14:53 2009 UTC (14 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.61: +9 -2 lines
Diff to previous 1.61 (colored)

Include sys_select.c for proper select()/poll() support.

Revision 1.30.4.3 / (download) - annotate - [select for diffs], Wed Aug 19 18:48:30 2009 UTC (14 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.30.4.2: +169 -62 lines
Diff to previous 1.30.4.2 (colored) to branchpoint 1.30 (colored)

sync with head.

Revision 1.61 / (download) - annotate - [select for diffs], Tue Aug 4 23:58:29 2009 UTC (14 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7
Changes since 1.60: +168 -60 lines
Diff to previous 1.60 (colored)

* 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) - annotate - [select for diffs], Mon Aug 3 23:32:06 2009 UTC (14 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.59: +2 -5 lines
Diff to previous 1.59 (colored)

g/c cachepgmtx, i have no idea what it was supposed to be useful for.

Revision 1.59 / (download) - annotate - [select for diffs], Mon Aug 3 17:10:51 2009 UTC (14 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.58: +4 -2 lines
Diff to previous 1.58 (colored)

track number of pages associated with vm object

Revision 1.52.2.2 / (download) - annotate - [select for diffs], Thu Jul 23 23:32:54 2009 UTC (14 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.52.2.1: +45 -2 lines
Diff to previous 1.52.2.1 (colored) to branchpoint 1.52 (colored) next main 1.53 (colored)

Sync with HEAD.

Revision 1.30.4.2 / (download) - annotate - [select for diffs], Sat Jun 20 07:20:35 2009 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.30.4.1: +45 -2 lines
Diff to previous 1.30.4.1 (colored) to branchpoint 1.30 (colored)

sync with head

Revision 1.58 / (download) - annotate - [select for diffs], Wed Jun 10 11:41:43 2009 UTC (14 years, 8 months ago) by he
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base
Changes since 1.57: +11 -2 lines
Diff to previous 1.57 (colored)

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) - annotate - [select for diffs], Wed Jun 3 16:06:10 2009 UTC (14 years, 8 months ago) by pooka
Branch: MAIN
Changes since 1.56: +36 -2 lines
Diff to previous 1.56 (colored)

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) - annotate - [select for diffs], Wed May 13 17:22:58 2009 UTC (14 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.52: +20 -3 lines
Diff to previous 1.52 (colored)

Sync with HEAD.

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

Revision 1.30.4.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:30 2009 UTC (14 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.30: +140 -271 lines
Diff to previous 1.30 (colored)

sync with head.

Revision 1.56 / (download) - annotate - [select for diffs], Sun May 3 16:53:54 2009 UTC (14 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, jym-xensuspend-base
Changes since 1.55: +11 -2 lines
Diff to previous 1.55 (colored)

define DEBUGPRINT

Revision 1.55 / (download) - annotate - [select for diffs], Tue Apr 28 14:00:42 2009 UTC (14 years, 9 months ago) by pooka
Branch: MAIN
CVS Tags: nick-hppapmap-base4
Changes since 1.54: +3 -2 lines
Diff to previous 1.54 (colored)

Free uao lock when destroying object.  Fixes tmpfs rename leak
reported by njoly.

Revision 1.41.2.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:51 2009 UTC (14 years, 9 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.41.2.2: +10 -3 lines
Diff to previous 1.41.2.2 (colored) to branchpoint 1.41 (colored) next main 1.42 (colored)

Sync with HEAD.

Revision 1.54 / (download) - annotate - [select for diffs], Fri Apr 24 13:27:03 2009 UTC (14 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.53: +9 -2 lines
Diff to previous 1.53 (colored)

* init pool linksets, makes proplib work.  reported by Arnaud Ysmal.
  (linksets, sigh)
* reduce #ifdef for RUMP_USE_REAL_ALLOCATORS

Revision 1.53 / (download) - annotate - [select for diffs], Wed Mar 18 10:22:45 2009 UTC (14 years, 11 months ago) by cegger
Branch: MAIN
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored)

Ansify function definitions w/o arguments. Generated with sed.

Revision 1.41.2.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:34:07 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.41.2.1: +50 -9 lines
Diff to previous 1.41.2.1 (colored) to branchpoint 1.41 (colored)

Sync with HEAD.

Revision 1.52 / (download) - annotate - [select for diffs], Fri Feb 6 18:29:19 2009 UTC (15 years ago) by pooka
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Branch point for: jym-xensuspend
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored)

Call uvm_page_unbusy() instead of manually yanking PG_BUSY out.

Revision 1.51 / (download) - annotate - [select for diffs], Fri Jan 23 14:24:43 2009 UTC (15 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.50: +2 -3 lines
Diff to previous 1.50 (colored)

last-minute pasto in previous

Revision 1.50 / (download) - annotate - [select for diffs], Fri Jan 23 13:14:17 2009 UTC (15 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.49: +50 -8 lines
Diff to previous 1.49 (colored)

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) - annotate - [select for diffs], Mon Jan 19 13:20:25 2009 UTC (15 years, 1 month ago) by skrll
Branch: nick-hppapmap
Changes since 1.41: +29 -289 lines
Diff to previous 1.41 (colored)

Sync with HEAD.

Revision 1.29.6.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:36 2009 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.29.6.4: +61 -273 lines
Diff to previous 1.29.6.4 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Sync with HEAD.

Revision 1.49 / (download) - annotate - [select for diffs], Sun Jan 4 20:30:21 2009 UTC (15 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.48: +10 -2 lines
Diff to previous 1.48 (colored)

Include libkern contents in librump.

Revision 1.48 / (download) - annotate - [select for diffs], Thu Dec 18 00:24:12 2008 UTC (15 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.47: +4 -1 lines
Diff to previous 1.47 (colored)

__KERNEL_RCSID

Revision 1.47 / (download) - annotate - [select for diffs], Tue Dec 16 14:48:31 2008 UTC (15 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.46: +2 -1 lines
Diff to previous 1.46 (colored)

Mark pages busy during VOP_PUTPAGES().  Deals with KASSERT in nfs write.

Revision 1.46 / (download) - annotate - [select for diffs], Tue Dec 16 14:07:25 2008 UTC (15 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.45: +9 -6 lines
Diff to previous 1.45 (colored)

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) - annotate - [select for diffs], Sat Dec 13 01:15:34 2008 UTC (15 years, 2 months ago) by haad
Branch: haad-dm
Changes since 1.32.4.1: +9 -284 lines
Diff to previous 1.32.4.1 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Nov 27 08:13:15 2008 UTC (15 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.44: +1 -106 lines
Diff to previous 1.44 (colored)

Move more vfs-related vm routines from rumpkern to rumpvfs.

Revision 1.44 / (download) - annotate - [select for diffs], Thu Nov 27 08:05:27 2008 UTC (15 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.43: +29 -132 lines
Diff to previous 1.43 (colored)

Remove the whole magic ubc window thingie.  All file systems use
ubc_uiomove() now, so we can hook ourselves there.

Revision 1.43 / (download) - annotate - [select for diffs], Wed Nov 26 15:04:02 2008 UTC (15 years, 2 months ago) by pooka
Branch: MAIN
Changes since 1.42: +9 -1 lines
Diff to previous 1.42 (colored)

Add a few symbols required by nfsd

Revision 1.42 / (download) - annotate - [select for diffs], Wed Nov 19 14:10:49 2008 UTC (15 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.41: +1 -76 lines
Diff to previous 1.41 (colored)

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) - annotate - [select for diffs], Sun Oct 19 22:18:07 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.32: +92 -22 lines
Diff to previous 1.32 (colored)

Sync with HEAD.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Oct 15 13:04:26 2008 UTC (15 years, 4 months ago) by pooka
Branch: 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
Changes since 1.40: +22 -1 lines
Diff to previous 1.40 (colored)

Add support bits necessary for rumpnet functionality.

Revision 1.30.6.3 / (download) - annotate - [select for diffs], Fri Oct 10 22:36:16 2008 UTC (15 years, 4 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.30.6.2: +55 -27 lines
Diff to previous 1.30.6.2 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)

Sync with HEAD.

Revision 1.40 / (download) - annotate - [select for diffs], Fri Oct 10 20:51:44 2008 UTC (15 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4
Changes since 1.39: +31 -1 lines
Diff to previous 1.39 (colored)

* implement uvm_km_alloc/free_poolpage()
* add silly stubs for uvm_lwp_hold/rele()

Revision 1.39 / (download) - annotate - [select for diffs], Fri Oct 10 20:45:21 2008 UTC (15 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.38: +33 -36 lines
Diff to previous 1.38 (colored)

reorganize routines a bit better.  no functional change

Revision 1.29.6.4 / (download) - annotate - [select for diffs], Sun Oct 5 20:11:34 2008 UTC (15 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.29.6.3: +1 -0 lines
Diff to previous 1.29.6.3 (colored) to branchpoint 1.29 (colored)

Sync with HEAD.

Revision 1.38 / (download) - annotate - [select for diffs], Tue Sep 30 19:50:16 2008 UTC (15 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored)

Make sure proc0.p_vmspace qualifies as VMSPACE_IS_KERNEL_P().

Revision 1.29.6.3 / (download) - annotate - [select for diffs], Sun Sep 28 10:41:04 2008 UTC (15 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.29.6.2: +27 -6 lines
Diff to previous 1.29.6.2 (colored) to branchpoint 1.29 (colored)

Sync with HEAD.

Revision 1.30.6.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:37:04 2008 UTC (15 years, 5 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.30.6.1: +28 -7 lines
Diff to previous 1.30.6.1 (colored) to branchpoint 1.30 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.37 / (download) - annotate - [select for diffs], Thu Aug 7 21:02:29 2008 UTC (15 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

pg->flags &= PG_CLEAN --> &= ~PG_CLEAN;

Fixes at least writing to the fs for msdosfs.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Aug 5 13:06:35 2008 UTC (15 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.35: +5 -2 lines
Diff to previous 1.35 (colored)

Honor PG_RELEASED when unbusying a page.

Fixes ufs file system full problem discovered by Simon Burge.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Aug 4 15:02:16 2008 UTC (15 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.34: +18 -1 lines
Diff to previous 1.34 (colored)

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) - annotate - [select for diffs], Thu Jul 31 04:51:05 2008 UTC (15 years, 6 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.32.2.1: +5 -4 lines
Diff to previous 1.32.2.1 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)

Sync with head.

Revision 1.34 / (download) - annotate - [select for diffs], Tue Jul 29 13:17:47 2008 UTC (15 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: simonb-wapbl-nbase, simonb-wapbl-base
Changes since 1.33: +5 -4 lines
Diff to previous 1.33 (colored)

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) - annotate - [select for diffs], Mon Jul 21 14:14:13 2008 UTC (15 years, 7 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

Sync with head.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Jul 20 16:18:13 2008 UTC (15 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

assert -> KASSERT

Revision 1.30.6.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:32:02 2008 UTC (15 years, 8 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.30: +5 -4 lines
Diff to previous 1.30 (colored)

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

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:16 2008 UTC (15 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.30: +5 -4 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

sync with head.

Revision 1.29.6.2 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:37 2008 UTC (15 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.29.6.1: +4 -3 lines
Diff to previous 1.29.6.1 (colored) to branchpoint 1.29 (colored)

Sync with HEAD.

Also fix build.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Jun 5 12:43:52 2008 UTC (15 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl, haad-dm
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (colored)

Make it build again.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Jun 4 13:10:06 2008 UTC (15 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.30: +4 -4 lines
Diff to previous 1.30 (colored)

Make it build.

Revision 1.29.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:11 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.29: +5 -1 lines
Diff to previous 1.29 (colored)

Sync with HEAD.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:28 2008 UTC (15 years, 11 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.29: +5 -1 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

sync with head.

Revision 1.14.2.4 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:09 2008 UTC (15 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.14.2.3: +7 -3 lines
Diff to previous 1.14.2.3 (colored) next main 1.15 (colored)

sync with HEAD

Revision 1.16.2.8 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:46 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.7: +5 -1 lines
Diff to previous 1.16.2.7 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

sync with head.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Mar 11 10:50:16 2008 UTC (15 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, 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
Changes since 1.29: +5 -1 lines
Diff to previous 1.29 (colored)

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) - annotate - [select for diffs], Mon Feb 18 21:07:22 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs
Changes since 1.21.2.2: +44 -20 lines
Diff to previous 1.21.2.2 (colored) next main 1.22 (colored)

Sync with HEAD.

Revision 1.16.2.7 / (download) - annotate - [select for diffs], Mon Feb 4 09:24:53 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.6: +3 -3 lines
Diff to previous 1.16.2.6 (colored) to branchpoint 1.16 (colored)

sync with head.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Jan 27 20:10:53 2008 UTC (16 years ago) by pooka
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.28: +2 -1 lines
Diff to previous 1.28 (colored)

honor pager locking protocol in uao_detach()

Revision 1.28 / (download) - annotate - [select for diffs], Sun Jan 27 00:16:22 2008 UTC (16 years ago) by pooka
Branch: MAIN
Changes since 1.27: +2 -3 lines
Diff to previous 1.27 (colored)

Fix locking botches: take vm object lock before calling pager,
not inside the pager.

Revision 1.16.2.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:47:44 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.5: +44 -20 lines
Diff to previous 1.16.2.5 (colored) to branchpoint 1.16 (colored)

sync with head

Revision 1.14.2.3 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:01 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.14.2.2: +60 -27 lines
Diff to previous 1.14.2.2 (colored)

sync with HEAD

Revision 1.24.6.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:11:54 2008 UTC (16 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.24.6.1: +8 -11 lines
Diff to previous 1.24.6.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with HEAD

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jan 3 02:48:03 2008 UTC (16 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.26: +9 -12 lines
Diff to previous 1.26 (colored)

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) - annotate - [select for diffs], Wed Jan 2 21:57:55 2008 UTC (16 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.24: +35 -8 lines
Diff to previous 1.24 (colored)

Sync with HEAD

Revision 1.26 / (download) - annotate - [select for diffs], Wed Jan 2 15:44:04 2008 UTC (16 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.25: +8 -8 lines
Diff to previous 1.25 (colored)

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) - annotate - [select for diffs], Wed Jan 2 11:49:06 2008 UTC (16 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.24: +29 -2 lines
Diff to previous 1.24 (colored)

Merge vmlocking2 to head.

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Fri Dec 28 21:43:19 2007 UTC (16 years, 1 month ago) by ad
Branch: vmlocking2
Changes since 1.24: +29 -2 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Make rump build.

Revision 1.21.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:27 2007 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.21.2.1: +17 -8 lines
Diff to previous 1.21.2.1 (colored)

Sync with HEAD.

Revision 1.16.2.5 / (download) - annotate - [select for diffs], Fri Dec 7 17:34:48 2007 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.4: +17 -8 lines
Diff to previous 1.16.2.4 (colored) to branchpoint 1.16 (colored)

sync with head

Revision 1.20.2.6 / (download) - annotate - [select for diffs], Mon Dec 3 16:15:14 2007 UTC (16 years, 2 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.20.2.5: +17 -8 lines
Diff to previous 1.20.2.5 (colored) next main 1.21 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Dec 1 10:45:42 2007 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.23: +17 -8 lines
Diff to previous 1.23 (colored)

constify pagerops.

Revision 1.21.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:49:25 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.21: +51 -25 lines
Diff to previous 1.21 (colored)

Sync with HEAD.

Revision 1.16.2.4 / (download) - annotate - [select for diffs], Thu Nov 15 11:45:28 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.3: +161 -55 lines
Diff to previous 1.16.2.3 (colored) to branchpoint 1.16 (colored)

sync with head.

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Tue Nov 13 16:03:17 2007 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.18: +161 -55 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Sync with HEAD

Revision 1.14.2.2 / (download) - annotate - [select for diffs], Thu Nov 8 11:00:19 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.14.2.1: +51 -25 lines
Diff to previous 1.14.2.1 (colored)

sync with -HEAD

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:34:39 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.14: +172 -44 lines
Diff to previous 1.14 (colored)

sync with HEAD

Revision 1.20.2.5 / (download) - annotate - [select for diffs], Tue Nov 6 19:25:37 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.20.2.4: +51 -25 lines
Diff to previous 1.20.2.4 (colored)

Sync with HEAD.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Nov 6 12:57:50 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.22: +14 -4 lines
Diff to previous 1.22 (colored)

Fix locking issues with the anonymous pager too so that tmpfs can work.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Nov 6 11:35:05 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.21: +39 -23 lines
Diff to previous 1.21 (colored)

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) - annotate - [select for diffs], Sun Nov 4 21:03:49 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.20.2.3: +82 -26 lines
Diff to previous 1.20.2.3 (colored)

Sync with HEAD.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Nov 4 19:52:14 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
Branch point for: mjf-devfs
Changes since 1.20: +82 -26 lines
Diff to previous 1.20 (colored)

* 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) - annotate - [select for diffs], Fri Nov 2 13:02:48 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.20.2.2: +52 -28 lines
Diff to previous 1.20.2.2 (colored)

Remove the rest of the unintentional diff in sys/rump.

Revision 1.20.2.2 / (download) - annotate - [select for diffs], Wed Oct 31 23:14:18 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.20.2.1: +555 -0 lines
Diff to previous 1.20.2.1 (colored)

Sync with HEAD.

Revision 1.20.2.1, Wed Oct 31 15:57:21 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.20: +0 -579 lines
FILE REMOVED

file vm.c was added on branch jmcneill-pm on 2007-10-31 23:14:18 +0000

Revision 1.20 / (download) - annotate - [select for diffs], Wed Oct 31 15:57:21 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
Branch point for: jmcneill-pm
Changes since 1.19: +52 -28 lines
Diff to previous 1.19 (colored)

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) - annotate - [select for diffs], Sun Oct 28 18:54:17 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

In uvm_estimatepageable() "estimate" pageable.

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:24 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.2: +12 -7 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored)

sync with head.

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:49:05 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

sync with head.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:32 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base
Branch point for: bouyer-xenamd64
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

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) - annotate - [select for diffs], Tue Oct 9 13:45:05 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.13.2.2: +63 -8 lines
Diff to previous 1.13.2.2 (colored) next main 1.14 (colored)

Sync with head.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Sep 12 10:24:23 2007 UTC (16 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base
Branch point for: yamt-x86pmap
Changes since 1.16: +11 -6 lines
Diff to previous 1.16 (colored)

don't allocate variable-sized arrays from the stack

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 14:45:39 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16.2.1: +550 -0 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

sync with head.

Revision 1.12.2.3 / (download) - annotate - [select for diffs], Mon Sep 3 10:23:56 2007 UTC (16 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.12.2.2: +53 -3 lines
Diff to previous 1.12.2.2 (colored) next main 1.13 (colored)

Sync with HEAD.

Revision 1.16.2.1, Sat Sep 1 23:40:27 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.16: +0 -550 lines
FILE REMOVED

file vm.c was added on branch yamt-lazymbuf on 2007-09-03 14:45:38 +0000

Revision 1.16 / (download) - annotate - [select for diffs], Sat Sep 1 23:40:27 2007 UTC (16 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: nick-csl-alignment-base5
Branch point for: yamt-lazymbuf
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

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) - annotate - [select for diffs], Sat Sep 1 21:40:58 2007 UTC (16 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.14: +46 -3 lines
Diff to previous 1.14 (colored)

* add a very crude version of uvm_pageatop()
* add biodone/aiodone

Revision 1.14 / (download) - annotate - [select for diffs], Sun Aug 26 23:51:08 2007 UTC (16 years, 5 months ago) by pooka
Branch: MAIN
Branch point for: matt-armv6
Changes since 1.13: +8 -1 lines
Diff to previous 1.13 (colored)

few panicky functions

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Mon Aug 20 22:07:31 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.13.2.1: +500 -0 lines
Diff to previous 1.13.2.1 (colored)

Sync with HEAD.

Revision 1.13.2.1, Mon Aug 20 15:58:14 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.13: +0 -500 lines
FILE REMOVED

file vm.c was added on branch vmlocking on 2007-08-20 22:07:31 +0000

Revision 1.13 / (download) - annotate - [select for diffs], Mon Aug 20 15:58:14 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Branch point for: vmlocking
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

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) - annotate - [select for diffs], Wed Aug 15 13:50:43 2007 UTC (16 years, 6 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.12.2.1: +500 -0 lines
Diff to previous 1.12.2.1 (colored)

Sync with HEAD.

Revision 1.12.2.1, Tue Aug 14 13:54:15 2007 UTC (16 years, 6 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.12: +0 -500 lines
FILE REMOVED

file vm.c was added on branch nick-csl-alignment on 2007-08-15 13:50:43 +0000

Revision 1.12 / (download) - annotate - [select for diffs], Tue Aug 14 13:54:15 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Branch point for: nick-csl-alignment
Changes since 1.11: +32 -1 lines
Diff to previous 1.11 (colored)

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) - annotate - [select for diffs], Mon Aug 13 13:51:39 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.10: +16 -1 lines
Diff to previous 1.10 (colored)

Use supermarket variety vfs_vnops.c instead of homecooked routines
(that's actually a good thing here).

Revision 1.10 / (download) - annotate - [select for diffs], Sat Aug 11 17:52:12 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.9: +13 -39 lines
Diff to previous 1.9 (colored)

* 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) - annotate - [select for diffs], Thu Aug 9 20:57:23 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.8: +33 -1 lines
Diff to previous 1.8 (colored)

Play catchup with ufs/ffs changes: compile subr_specificdata.c
and emulate kmem_foo() to support the prior.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Aug 9 13:53:36 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored)

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) - annotate - [select for diffs], Thu Aug 9 08:56:45 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.6: +55 -1 lines
Diff to previous 1.6 (colored)

Add some stubs for lfs.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Aug 7 19:40:17 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.5: +6 -8 lines
Diff to previous 1.5 (colored)

remove the allocstorage param from makepage - not needed

Revision 1.5 / (download) - annotate - [select for diffs], Tue Aug 7 19:37:05 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.4: +17 -11 lines
Diff to previous 1.4 (colored)

track dirty vm objects

Revision 1.4 / (download) - annotate - [select for diffs], Tue Aug 7 19:14:51 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

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) - annotate - [select for diffs], Mon Aug 6 20:46:29 2007 UTC (16 years, 6 months ago) by pooka
Branch: matt-mips64
Changes since 1.3.2.1: +392 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

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 (16 years, 6 months ago) by pooka
Branch: matt-mips64
Changes since 1.3: +0 -392 lines
FILE REMOVED

file vm.c was added on branch matt-mips64 on 2007-08-06 20:46:29 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Mon Aug 6 20:46:28 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base
Branch point for: matt-mips64
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

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) - annotate - [select for diffs], Mon Aug 6 16:09:33 2007 UTC (16 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.1: +26 -5 lines
Diff to previous 1.1 (colored)

implement uvm_vnp_zerorange()

Revision 1.1 / (download) - annotate - [select for diffs], Sun Aug 5 22:28:10 2007 UTC (16 years, 6 months ago) by pooka
Branch: 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.

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




CVSweb <webmaster@jp.NetBSD.org>