The NetBSD Project

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

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.131: download - view: text, markup, annotated - select for diffs
Fri Mar 15 07:09:37 2024 UTC (8 months, 3 weeks ago) by andvar
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +4 -4 lines
Fix !VMSWAP build:
Added __unused for few local variables, which are used in VMSWAP block only.
Adjust !VMSWAP uvm_swap_stats() definition to make it build with compat code.
Copied "int (*uvm_swap_stats50)(...)" definition from uvm_swap to uvm_swapstub
to avoid missing uvm_swap_stats50 reference on linking.

Fixes INSTALL_CPMBR1400, INSTALL_ZYXELKX evbmips kernel configs as a result.

Reviewed by simon and phone in IRC (thanks).

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

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

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

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

fix an incorrect assertion in the previous commit.

Handle PG_PAGEOUT in uvm_anon_release() too.

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

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

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

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

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

Revision 1.130: download - view: text, markup, annotated - select for diffs
Sun Oct 18 18:22:29 2020 UTC (4 years, 1 month ago) by chs
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +2 -14 lines
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.

Revision 1.129: download - view: text, markup, annotated - select for diffs
Fri Aug 14 09:06:15 2020 UTC (4 years, 3 months ago) by chs
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +4 -6 lines
centralize calls from UVM to radixtree into a few functions.
in those functions, assert that the object lock is held in
the correct mode.

Revision 1.128: download - view: text, markup, annotated - select for diffs
Thu Jul 9 05:57:15 2020 UTC (4 years, 5 months ago) by skrll
Branches: MAIN
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +9 -11 lines
Consistently use UVMHIST(__func__)

Convert UVMHIST_{CALLED,LOG} into UVMHIST_CALLARGS

Revision 1.127: download - view: text, markup, annotated - select for diffs
Wed Jul 8 13:26:22 2020 UTC (4 years, 5 months ago) by skrll
Branches: MAIN
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +4 -4 lines
Trailing whitespace

Revision 1.126: download - view: text, markup, annotated - select for diffs
Thu Jun 25 09:58:44 2020 UTC (4 years, 5 months ago) by jdolecek
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +7 -5 lines
use maximum-size fixed size array instead of variable-length array
in uvm_aio_aiodone() so that the stack usage can be determined and
checked in compile time; this is not called recursively not
particularly deep in call stack, so there is no need to save every
last drop of stack space here

Revision 1.111.4.3: download - view: text, markup, annotated - select for diffs
Tue Apr 21 18:42:46 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.111.4.2: preferred, colored; branchpoint 1.111: preferred, colored; next MAIN 1.112: preferred, colored
Changes since revision 1.111.4.2: +3 -1 lines
Sync with HEAD

Revision 1.124.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 20 11:29:14 2020 UTC (4 years, 7 months ago) by bouyer
Branches: bouyer-xenpvh
Diff to: previous 1.124: preferred, colored; next MAIN 1.125: preferred, colored
Changes since revision 1.124: +5 -3 lines
Sync with HEAD

Revision 1.125: download - view: text, markup, annotated - select for diffs
Sun Apr 19 21:53:38 2020 UTC (4 years, 7 months ago) by ad
Branches: MAIN
CVS tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +5 -3 lines
uvm_aio_aiodone_pages(): only call uvm_pageout_done() if work was done for
the page daemon.

Revision 1.111.4.2: download - view: text, markup, annotated - select for diffs
Mon Apr 13 08:05:21 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.111.4.1: preferred, colored; branchpoint 1.111: preferred, colored
Changes since revision 1.111.4.1: +45 -0 lines
Mostly merge changes from HEAD upto 20200411

Revision 1.111.4.1: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:09:04 2020 UTC (4 years, 8 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +31 -50 lines
Merge changes from current as of 20200406

Revision 1.124: download - view: text, markup, annotated - select for diffs
Tue Apr 7 19:15:23 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
CVS tags: phil-wifi-20200411, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +47 -2 lines
For single page I/O, use direct mapping if available.

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

Revision 1.123: download - view: text, markup, annotated - select for diffs
Mon Feb 24 12:38:57 2020 UTC (4 years, 9 months ago) by rin
Branches: MAIN
CVS tags: phil-wifi-20200406, is-mlppp-base, is-mlppp, ad-namecache-base3
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +5 -5 lines
0x%#x --> %#x for non-external codes.
Also, stop mixing up 0x%x and %#x in single files as far as possible.

Revision 1.122: download - view: text, markup, annotated - select for diffs
Sun Feb 23 15:46:43 2020 UTC (4 years, 9 months ago) by ad
Branches: MAIN
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +7 -7 lines
UVM locking changes, proposed on tech-kern:

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

Revision 1.121: download - view: text, markup, annotated - select for diffs
Tue Feb 18 20:23:17 2020 UTC (4 years, 9 months ago) by chs
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +2 -22 lines
remove the aiodoned thread.  I originally added this to provide a thread context
for doing page cache iodone work, but since then biodone() has changed to
hand off all iodone work to a softint thread, so we no longer need the
special-purpose aiodoned thread.

Revision 1.119.2.1: download - view: text, markup, annotated - select for diffs
Fri Jan 17 21:47:38 2020 UTC (4 years, 10 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +11 -7 lines
Sync with head.

Revision 1.120: download - view: text, markup, annotated - select for diffs
Wed Jan 15 17:55:45 2020 UTC (4 years, 10 months ago) by ad
Branches: MAIN
CVS tags: ad-namecache-base2, ad-namecache-base1
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +11 -7 lines
Merge from yamt-pagecache (after much testing):

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

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

Revision 1.119: download - view: text, markup, annotated - select for diffs
Tue Dec 31 22:42:51 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
CVS tags: ad-namecache-base
Branch point for: ad-namecache
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +6 -2 lines
- Add and use wrapper functions that take and acquire page interlocks, and pairs
  of page interlocks.  Require that the page interlock be held over calls to
  uvm_pageactivate(), uvm_pagewire() and similar.

- Solve the concurrency problem with page replacement state.  Rather than
  updating the global state synchronously, set an intended state on
  individual pages (active, inactive, enqueued, dequeued) while holding the
  page interlock.  After the interlock is released put the pages on a 128
  entry per-CPU queue for their state changes to be made real in batch.
  This results in in a ~400 fold decrease in contention on my test system.
  Proposed on tech-kern but modified to use the page interlock rather than
  atomics to synchronise as it's much easier to maintain that way, and
  cheaper.

Revision 1.111.8.1: download - view: text, markup, annotated - select for diffs
Fri Dec 27 06:58:56 2019 UTC (4 years, 11 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +2 -3 lines
Pull up following revision(s) (requested by ad in ticket #584):

	sys/uvm/uvm_pager.c: revision 1.118

PR kern/48044: panic: kernel diagnostic assertion "uvmexp.swpgonly + npages <= uvmexp.swpginuse" failed
swpgonly is updated asynchronously with regard to swap use.  We can't assert
this condition with confidence in the post-5.0 world, at least not without
broader changes.  swpgonly's ultimate use is of a heuristic nature so this
is no problem at all.

Revision 1.118: download - view: text, markup, annotated - select for diffs
Fri Dec 27 00:46:38 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +2 -3 lines
PR kern/48044: panic: kernel diagnostic assertion "uvmexp.swpgonly + npages <= uvmexp.swpginuse" failed

swpgonly is updated asynchronously with regard to swap use.  We can't assert
this condition with confidence in the post-5.0 world, at least not without
broader changes.  swpgonly's ultimate use is of a heuristic nature so this
is no problem at all.

Revision 1.117: download - view: text, markup, annotated - select for diffs
Sat Dec 21 14:41:44 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +3 -3 lines
- Rename VM_PGCOLOR_BUCKET() to VM_PGCOLOR().  I want to reuse "bucket" for
  something else soon and TBH it matches what this macro does better.

- Add inlines to set/get locator values in the unused lower bits of
  pg->phys_addr.  Begin by using it to cache the freelist index, because
  computing it is expensive and that shows up during profiling.  Discussed
  on tech-kern.

Revision 1.116: download - view: text, markup, annotated - select for diffs
Sat Dec 14 21:36:00 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +3 -2 lines
The uvmexp.pdpending change was incorrect - revert for now.

Revision 1.115: download - view: text, markup, annotated - select for diffs
Sat Dec 14 15:04:47 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +2 -3 lines
Adjust pdpending in uvm_pageout_start() and uvm_pageout_done() to avoid
the value going temporarily negative.

Revision 1.114: download - view: text, markup, annotated - select for diffs
Fri Dec 13 20:10:22 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +6 -11 lines
Break the global uvm_pageqlock into a per-page identity lock and a private
lock for use of the pagedaemon policy code.  Discussed on tech-kern.

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

Revision 1.113: download - view: text, markup, annotated - select for diffs
Sun Dec 1 23:14:47 2019 UTC (5 years ago) by uwe
Branches: MAIN
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +3 -2 lines
Add missing #include <sys/atomic.h>

Revision 1.112: download - view: text, markup, annotated - select for diffs
Sun Dec 1 14:40:31 2019 UTC (5 years ago) by ad
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +4 -6 lines
- Adjust uvmexp.swpgonly with atomics, and make uvm_swap_data_lock static.
- A bit more __cacheline_aligned on mutexes.

Revision 1.108.6.3: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:39:22 2017 UTC (7 years ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.108.6.2: preferred, colored; branchpoint 1.108: preferred, colored; next MAIN 1.109: preferred, colored
Changes since revision 1.108.6.2: +8 -7 lines
update from HEAD

Revision 1.110.22.1: download - view: text, markup, annotated - select for diffs
Thu Nov 2 21:29:53 2017 UTC (7 years, 1 month ago) by snj
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Diff to: previous 1.110: preferred, colored; next MAIN 1.111: preferred, colored
Changes since revision 1.110: +10 -9 lines
Pull up following revision(s) (requested by pgoyette in ticket #335):
	share/man/man9/kernhist.9: 1.5-1.8
	sys/arch/acorn26/acorn26/pmap.c: 1.39
	sys/arch/arm/arm32/fault.c: 1.105 via patch
	sys/arch/arm/arm32/pmap.c: 1.350, 1.359
	sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7
	sys/arch/arm/omap/if_cpsw.c: 1.20
	sys/arch/arm/omap/tiotg.c: 1.7
	sys/arch/evbarm/conf/RPI2_INSTALL: 1.3
	sys/dev/ic/sl811hs.c: 1.98
	sys/dev/usb/ehci.c: 1.256
	sys/dev/usb/if_axe.c: 1.83
	sys/dev/usb/motg.c: 1.18
	sys/dev/usb/ohci.c: 1.274
	sys/dev/usb/ucom.c: 1.119
	sys/dev/usb/uhci.c: 1.277
	sys/dev/usb/uhub.c: 1.137
	sys/dev/usb/umass.c: 1.160-1.162
	sys/dev/usb/umass_quirks.c: 1.100
	sys/dev/usb/umass_scsipi.c: 1.55
	sys/dev/usb/usb.c: 1.168
	sys/dev/usb/usb_mem.c: 1.70
	sys/dev/usb/usb_subr.c: 1.221
	sys/dev/usb/usbdi.c: 1.175
	sys/dev/usb/usbdi_util.c: 1.67-1.70
	sys/dev/usb/usbroothub.c: 1.3
	sys/dev/usb/xhci.c: 1.75
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34
	sys/kern/kern_history.c: 1.15
	sys/kern/kern_xxx.c: 1.74
	sys/kern/vfs_bio.c: 1.275-1.276
	sys/miscfs/genfs/genfs_io.c: 1.71
	sys/sys/kernhist.h: 1.21
	sys/ufs/ffs/ffs_balloc.c: 1.63
	sys/ufs/lfs/lfs_vfsops.c: 1.361
	sys/ufs/lfs/ulfs_inode.c: 1.21
	sys/ufs/lfs/ulfs_vnops.c: 1.52
	sys/ufs/ufs/ufs_inode.c: 1.102
	sys/ufs/ufs/ufs_vnops.c: 1.239
	sys/uvm/pmap/pmap.c: 1.37-1.39
	sys/uvm/pmap/pmap_tlb.c: 1.22
	sys/uvm/uvm_amap.c: 1.108
	sys/uvm/uvm_anon.c: 1.64
	sys/uvm/uvm_aobj.c: 1.126
	sys/uvm/uvm_bio.c: 1.91
	sys/uvm/uvm_device.c: 1.66
	sys/uvm/uvm_fault.c: 1.201
	sys/uvm/uvm_km.c: 1.144
	sys/uvm/uvm_loan.c: 1.85
	sys/uvm/uvm_map.c: 1.353
	sys/uvm/uvm_page.c: 1.194
	sys/uvm/uvm_pager.c: 1.111
	sys/uvm/uvm_pdaemon.c: 1.109
	sys/uvm/uvm_swap.c: 1.175
	sys/uvm/uvm_vnode.c: 1.103
	usr.bin/vmstat/vmstat.c: 1.219
Reorder to test for null before null deref in debug code
--
Reorder to test for null before null deref in debug code
--
KNF
--
No need for '\n' in UVMHIST_LOG
--
normalise a BIOHIST log message
--
Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in
   the kernel and in the structures used for exporting the history data
   to userland via sysctl(9).  This avoids problems on some architectures
   where passing a 64-bit (or larger) value to printf(3) can cause it to
   process the value as multiple arguments.  (This can be particularly
   problematic when printf()'s format string is not a literal, since in
   that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to
   include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings
   updated.  Each format specifier now includes an explicit length
   modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings
   updated to replace uses of "%p" with "%#jx", and the pointer
   arguments are now cast to (uintptr_t) before being subsequently cast
   to (uintmax_t).  This is needed to avoid compiler warnings about
   casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or
   "%c" format strings replaced with numeric formats; several instances
   of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the
   history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with
   the -u option does not exist (previously, this condition was silently
   ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the
   data exported via sysctl(9) and exits if they do not match the values
   with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional
   requirements imposed on the format strings, along with several other
   minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example,
     uint64_t) for the history arguments.  But that would require another
     "rototill" of all the users in the future when we add support for an
     architecture that supports a larger size.  Also, the printf(3)
format
     specifiers for explicitly-sized values, such as "%"PRIu64, are much
     more verbose (and less aesthetically appealing, IMHO) than simply
     using "%ju".
[2] I've tried very hard to find "all [the] existing users of
kernhist(9)"
     but it is possible that I've missed some of them.  I would be glad
to
     update any stragglers that anyone identifies.
--
For some reason this single kernel seems to have outgrown its declared
size as a result of the kernhist(9) changes.  Bump the size.
XXX The amount of increase may be excessive - anyone with more detailed
XXX knowledge please feel free to further adjust the value
appropriately.
--
Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit
--
And yet another one.  :(
--
Use correct mark-up for NetBSD version.
--
More improvements in grammar and readability.
--
Remove a stray '"' (obvious typo) and add a couple of casts that are
probably needed.
--
And replace an instance of "%p" conversion with "%#jx"
--
Whitespace fix. Give Bl tag table a width. Fix Xr.

Revision 1.111: download - view: text, markup, annotated - select for diffs
Sat Oct 28 00:37:13 2017 UTC (7 years, 1 month ago) by pgoyette
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, 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, netbsd-9-base, netbsd-9-0-RC1, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi, netbsd-9
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +10 -9 lines
Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...

(As proposed on tech-kern@ with additional changes and enhancements.)

Details of changes:

* All history arguments are now stored as uintmax_t values[1], both in
  the kernel and in the structures used for exporting the history data
  to userland via sysctl(9).  This avoids problems on some architectures
  where passing a 64-bit (or larger) value to printf(3) can cause it to
  process the value as multiple arguments.  (This can be particularly
  problematic when printf()'s format string is not a literal, since in
  that case the compiler cannot know how large each argument should be.)

* Update the data structures used for exporting kernel history data to
  include a version number as well as the length of history arguments.

* All [2] existing users of kernhist(9) have had their format strings
  updated.  Each format specifier now includes an explicit length
  modifier 'j' to refer to numeric values of the size of uintmax_t.

* All [2] existing users of kernhist(9) have had their format strings
  updated to replace uses of "%p" with "%#jx", and the pointer
  arguments are now cast to (uintptr_t) before being subsequently cast
  to (uintmax_t).  This is needed to avoid compiler warnings about
  casting "pointer to integer of a different size."

* All [2] existing users of kernhist(9) have had instances of "%s" or
  "%c" format strings replaced with numeric formats; several instances
  of mis-match between format string and argument list have been fixed.

* vmstat(1) has been modified to handle the new size of arguments in the
  history data as exported by sysctl(9).

* vmstat(1) now provides a warning message if the history requested with
  the -u option does not exist (previously, this condition was silently
  ignored, with only a single blank line being printed).

* vmstat(1) now checks the version and argument length included in the
  data exported via sysctl(9) and exits if they do not match the values
  with which vmstat was built.

* The kernhist(9) man-page has been updated to note the additional
  requirements imposed on the format strings, along with several other
  minor changes and enhancements.

[1] It would have been possible to use an explicit length (for example,
    uint64_t) for the history arguments.  But that would require another
    "rototill" of all the users in the future when we add support for an
    architecture that supports a larger size.  Also, the printf(3) format
    specifiers for explicitly-sized values, such as "%"PRIu64, are much
    more verbose (and less aesthetically appealing, IMHO) than simply
    using "%ju".

[2] I've tried very hard to find "all [the] existing users of kernhist(9)"
    but it is possible that I've missed some of them.  I would be glad to
    update any stragglers that anyone identifies.

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

Revision 1.107.2.5: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:19 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.107.2.4: preferred, colored; branchpoint 1.107: preferred, colored; next MAIN 1.108: preferred, colored
Changes since revision 1.107.2.4: +7 -6 lines
sync with head.

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

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

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

Revision 1.110: download - view: text, markup, annotated - select for diffs
Sat Mar 1 18:32:01 2014 UTC (10 years, 9 months ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-nhusb, netbsd-8-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +5 -4 lines
only check that npages fit, if we are going to add npages to swpgonly.

Revision 1.109: download - view: text, markup, annotated - select for diffs
Fri Oct 25 20:27:29 2013 UTC (11 years, 1 month ago) by martin
Branches: MAIN
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +4 -4 lines
Mark diagnostic-only variables

Revision 1.108.6.1: download - view: text, markup, annotated - select for diffs
Wed Oct 10 16:31:54 2012 UTC (12 years, 2 months ago) by bouyer
Branches: tls-maxphys
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +6 -6 lines
The pagedaemon ca emit write as large as the underlying device's maxphys,
so emergva size needs to be MACHINE_MAXPHYS, MAXPHYS is not enough.

Revision 1.107.2.4: download - view: text, markup, annotated - select for diffs
Wed Aug 1 22:34:14 2012 UTC (12 years, 4 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.107.2.3: preferred, colored; branchpoint 1.107: preferred, colored
Changes since revision 1.107.2.3: +7 -0 lines
- fix integrity sync.
  putpages for integrity sync (fsync, msync with MS_SYNC, etc) should not
  skip pages being written back by other threads.

- adapt to radix tree tag api changes.

Revision 1.107.2.3: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:09:00 2012 UTC (12 years, 7 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.107.2.2: preferred, colored; branchpoint 1.107: preferred, colored
Changes since revision 1.107.2.2: +3 -3 lines
sync with head

Revision 1.107.6.1: download - view: text, markup, annotated - select for diffs
Sat Feb 18 07:36:01 2012 UTC (12 years, 9 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.107: preferred, colored; next MAIN 1.108: preferred, colored
Changes since revision 1.107: +3 -3 lines
merge to -current.

Revision 1.92.18.5: download - view: text, markup, annotated - select for diffs
Tue Feb 14 01:12:42 2012 UTC (12 years, 9 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.92.18.4: preferred, colored; branchpoint 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92.18.4: +2 -3 lines
Add more KASSERTs (more! more! more!).
When returning page to the free pool, make sure to dequeue the pages before
hand or free page queue corruption will happen.

Revision 1.92.18.4: download - view: text, markup, annotated - select for diffs
Thu Feb 9 03:05:01 2012 UTC (12 years, 10 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.92.18.3: preferred, colored; branchpoint 1.92: preferred, colored
Changes since revision 1.92.18.3: +5 -10 lines
Major changes to uvm.
Support multiple collections (groups) of free pages and run the page
reclaimation algorithm on each group independently.

Revision 1.108: download - view: text, markup, annotated - select for diffs
Fri Jan 27 19:48:42 2012 UTC (12 years, 10 months ago) by para
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +3 -3 lines
extending vmem(9) to be able to allocated resources for it's own needs.
simplifying uvm_map handling (no special kernel entries anymore no relocking)
make malloc(9) a thin wrapper around kmem(9)
(with private interface for interrupt safety reasons)

releng@ acknowledged

Revision 1.107.2.2: download - view: text, markup, annotated - select for diffs
Tue Jan 24 02:10:47 2012 UTC (12 years, 10 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.107.2.1: preferred, colored; branchpoint 1.107: preferred, colored
Changes since revision 1.107.2.1: +2 -3 lines
remove a redundant assertion

Revision 1.107.2.1: download - view: text, markup, annotated - select for diffs
Wed Nov 2 21:54:01 2011 UTC (13 years, 1 month ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +4 -6 lines
page cache related changes

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

Revision 1.107: download - view: text, markup, annotated - select for diffs
Tue Oct 11 23:57:07 2011 UTC (13 years, 2 months ago) by yamt
Branches: MAIN
CVS tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +3 -3 lines
comment

Revision 1.106: download - view: text, markup, annotated - select for diffs
Thu Oct 6 12:26:03 2011 UTC (13 years, 2 months ago) by uebayasi
Branches: MAIN
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +4 -3 lines
Correct pagermap emergva allocation.  From yamt@.

Tested by building i386 kernel with DTRACE defined which died 100%.

Revision 1.105: download - view: text, markup, annotated - select for diffs
Wed Sep 28 22:52:15 2011 UTC (13 years, 2 months ago) by matt
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +44 -10 lines
Reallocate emergency pager va when ncolors is increased. (modication of
patch from mrg).

Revision 1.104: download - view: text, markup, annotated - select for diffs
Thu Sep 1 06:40:28 2011 UTC (13 years, 3 months ago) by matt
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +18 -13 lines
Forward some UVM from matt-nb5-mips64.  Add UVM_KMF_COLORMATCH flag.
When uvm_map gets passed UVM_FLAG_COLORMATCH, the align argument contains
the color of the starting address to be allocated (0..colormask).
When uvm_km_alloc is passed UVM_KMF_COLORMATCH (which can only be used with
UVM_KMF_VAONLY), the align argument contain the color of the starting address
to be allocated.
Change uvm_pagermapin to use this.  When mapping user pages in the kernel,
if colormatch is used with the color of the starting user page then the kernel
mapping will be congruent with the existing user mappings.

Revision 1.103: download - view: text, markup, annotated - select for diffs
Tue Aug 23 03:00:35 2011 UTC (13 years, 3 months ago) by oki
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +4 -2 lines
make compile without VMSWAP.  no functional change.

Revision 1.102: download - view: text, markup, annotated - select for diffs
Thu Aug 18 14:17:08 2011 UTC (13 years, 3 months ago) by yamt
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +8 -4 lines
uvm_aio_aiodone_pages: check disposed anon correctly.

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

Revision 1.101: download - view: text, markup, annotated - select for diffs
Sun Jun 12 03:36:03 2011 UTC (13 years, 6 months ago) by rmind
Branches: MAIN
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +5 -5 lines
Welcome to 5.99.53!  Merge rmind-uvmplock branch:

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

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

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

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

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

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

Revision 1.98.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:10:23 2011 UTC (13 years, 6 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.98: preferred, colored; next MAIN 1.99: preferred, colored
Changes since revision 1.98: +2 -11 lines
Sync with HEAD.

Revision 1.92.18.3: download - view: text, markup, annotated - select for diffs
Fri Jun 3 07:59:58 2011 UTC (13 years, 6 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.92.18.2: preferred, colored; branchpoint 1.92: preferred, colored
Changes since revision 1.92.18.2: +2 -2 lines
Restore $NetBSD$

Revision 1.92.18.2: download - view: text, markup, annotated - select for diffs
Fri Jun 3 02:43:42 2011 UTC (13 years, 6 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.92.18.1: preferred, colored; branchpoint 1.92: preferred, colored
Changes since revision 1.92.18.1: +1 -1 lines
Rework page free lists to be sorted by color first rather than free_list.
Kept per color PGFL_* counter in each page free list.
Minor cleanups.

Revision 1.97.4.5: download - view: text, markup, annotated - select for diffs
Tue May 31 03:05:15 2011 UTC (13 years, 6 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.97.4.4: preferred, colored; branchpoint 1.97: preferred, colored; next MAIN 1.98: preferred, colored
Changes since revision 1.97.4.4: +0 -2 lines
sync with head

Revision 1.92.18.1: download - view: text, markup, annotated - select for diffs
Wed May 25 23:58:50 2011 UTC (13 years, 6 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +19 -13 lines
Make uvm_map recognize UVM_FLAG_COLORMATCH which tells uvm_map that the
'align' argument specifies the starting color of the KVA range to be returned.

When calling uvm_km_alloc with UVM_KMF_VAONLY, also specify the starting
color of the kva range returned (UMV_KMF_COLORMATCH) and pass those to
uvm_map.

In uvm_pglistalloc, make sure the pages being returned have sequentially
advancing colors (so they can be mapped in a contiguous address range).
Add a few missing UVM_FLAG_COLORMATCH flags to uvm_pagealloc calls.

Make the socket and pipe loan color-safe.

Make the mips pmap enforce strict page color (color(VA) == color(PA)).

Revision 1.100: download - view: text, markup, annotated - select for diffs
Sat Apr 23 18:14:12 2011 UTC (13 years, 7 months ago) by rmind
Branches: MAIN
CVS tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +2 -4 lines
Replace "malloc" in comments, remove unnecessary header inclusions.

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

Revision 1.98.4.1: download - view: text, markup, annotated - select for diffs
Tue Feb 8 16:20:07 2011 UTC (13 years, 10 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.98: preferred, colored; next MAIN 1.99: preferred, colored
Changes since revision 1.98: +2 -9 lines
Sync with HEAD

Revision 1.99: download - view: text, markup, annotated - select for diffs
Wed Feb 2 15:13:34 2011 UTC (13 years, 10 months ago) by chuck
Branches: MAIN
CVS tags: uebayasi-xip-base7, bouyer-quota2-nbase, bouyer-quota2-base
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +2 -9 lines
udpate license clauses on my code to match the new-style BSD licenses.
based on diff that rmind@ sent me.

no functional change with this commit.

Revision 1.92.14.1: download - view: text, markup, annotated - select for diffs
Sun Nov 21 18:09:00 2010 UTC (14 years ago) by riz
Branches: netbsd-5
CVS tags: 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, matt-nb5-pq3-base, matt-nb5-pq3
Diff to: previous 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92: +4 -3 lines
Pull up following revision(s) (requested by rmind in ticket #1421):
	sys/uvm/uvm_bio.c: revision 1.70
	sys/uvm/uvm_map.c: revision 1.292
	sys/uvm/uvm_pager.c: revision 1.98
	sys/uvm/uvm_fault.c: revision 1.175
	sys/uvm/uvm_bio.c: revision 1.69
ubc_fault: split-off code part handling a single page into ubc_fault_page().
Keep the lock around pmap_update() where required.  While fixing this
in ubc_fault(), rework logic to &quot;remember&quot; the last object of page and
reduce locking overhead, since in common case pages belong to one and
the same UVM object (but not always, therefore add a comment).
Unlocks before pmap_update(), on removal of mappings, might cause TLB
coherency issues, since on architectures like x86 and mips64 invalidation
IPIs are deferred to pmap_update().  Hence, VA space might be globally
visible before IPIs are sent or while they are still in-flight.
OK ad@.

Revision 1.97.2.1: download - view: text, markup, annotated - select for diffs
Tue Aug 17 06:48:16 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.97: preferred, colored; next MAIN 1.98: preferred, colored
Changes since revision 1.97: +4 -3 lines
Sync with HEAD.

Revision 1.92.4.4: download - view: text, markup, annotated - select for diffs
Wed Aug 11 22:55:17 2010 UTC (14 years, 4 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.92.4.3: preferred, colored; branchpoint 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92.4.3: +4 -3 lines
sync with head.

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

Revision 1.98: download - view: text, markup, annotated - select for diffs
Tue Jun 22 18:34:50 2010 UTC (14 years, 5 months ago) by rmind
Branches: MAIN
CVS tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +4 -3 lines
Keep the lock around pmap_update() where required.  While fixing this
in ubc_fault(), rework logic to "remember" the last object of page and
reduce locking overhead, since in common case pages belong to one and
the same UVM object (but not always, therefore add a comment).

Unlocks before pmap_update(), on removal of mappings, might cause TLB
coherency issues, since on architectures like x86 and mips64 invalidation
IPIs are deferred to pmap_update().  Hence, VA space might be globally
visible before IPIs are sent or while they are still in-flight.

OK ad@.

Revision 1.97.4.2: download - view: text, markup, annotated - select for diffs
Wed Mar 17 06:03:19 2010 UTC (14 years, 8 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.97.4.1: preferred, colored; branchpoint 1.97: preferred, colored
Changes since revision 1.97.4.1: +3 -3 lines
Reorganise UVM locking to protect P->V state and serialise pmap(9)
operations on the same page(s) by always locking their owner.  Hence
lock order: "vmpage"-lock -> pmap-lock.

Patch, proposed on tech-kern@, from Andrew Doran.

Revision 1.97.4.1: download - view: text, markup, annotated - select for diffs
Tue Mar 16 15:38:18 2010 UTC (14 years, 8 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +4 -4 lines
Change struct uvm_object::vmobjlock to be dynamically allocated with
mutex_obj_alloc().  It allows us to share the locks among UVM objects.

Revision 1.92.4.3: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:04:47 2010 UTC (14 years, 9 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.92.4.2: preferred, colored; branchpoint 1.92: preferred, colored
Changes since revision 1.92.4.2: +3 -3 lines
sync with head

Revision 1.97: download - view: text, markup, annotated - select for diffs
Sat Nov 7 07:27:50 2009 UTC (15 years, 1 month ago) by cegger
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +3 -3 lines
Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.

Revision 1.92.4.2: download - view: text, markup, annotated - select for diffs
Wed Aug 19 18:48:36 2009 UTC (15 years, 3 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.92.4.1: preferred, colored; branchpoint 1.92: preferred, colored
Changes since revision 1.92.4.1: +2 -24 lines
sync with head.

Revision 1.96: download - view: text, markup, annotated - select for diffs
Wed Aug 5 14:11:32 2009 UTC (15 years, 4 months ago) by pooka
Branches: MAIN
CVS tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, jym-xensuspend-nbase
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +2 -24 lines
kill uvm_aio_biodone1().  only user was lfs and that uses nestiobuf now.

Revision 1.93.4.1: download - view: text, markup, annotated - select for diffs
Wed May 13 17:23:10 2009 UTC (15 years, 7 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.93: preferred, colored; next MAIN 1.94: preferred, colored
Changes since revision 1.93: +2 -8 lines
Sync with HEAD.

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

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

Revision 1.92.12.3: download - view: text, markup, annotated - select for diffs
Tue Apr 28 07:37:58 2009 UTC (15 years, 7 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.92.12.2: preferred, colored; branchpoint 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92.12.2: +2 -5 lines
Sync with HEAD.

Revision 1.95: download - view: text, markup, annotated - select for diffs
Mon Mar 30 16:36:36 2009 UTC (15 years, 8 months ago) by yamt
Branches: MAIN
CVS tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend-base
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +2 -5 lines
g/c uvm_aiobuf_pool.

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

Revision 1.94: download - view: text, markup, annotated - select for diffs
Sun Feb 22 20:28:07 2009 UTC (15 years, 9 months ago) by ad
Branches: MAIN
CVS tags: nick-hppapmap-base2
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +2 -5 lines
PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep

Retire softdep, pass 2. As discussed and later formally announced on the
mailing lists.

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

Revision 1.90.6.3: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:29:43 2009 UTC (15 years, 10 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.90.6.2: preferred, colored; branchpoint 1.90: preferred, colored; next MAIN 1.91: preferred, colored
Changes since revision 1.90.6.2: +1 -0 lines
Sync with HEAD.

Revision 1.92.10.1: download - view: text, markup, annotated - select for diffs
Sat Dec 13 01:15:42 2008 UTC (16 years ago) by haad
Branches: haad-dm
Diff to: previous 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92: +3 -2 lines
Update haad-dm branch to haad-dm-base2.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Sun Nov 16 19:34:29 2008 UTC (16 years ago) by pooka
Branches: MAIN
CVS tags: mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: jym-xensuspend
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +3 -2 lines
more <sys/buf.h> police

Revision 1.90.6.2: download - view: text, markup, annotated - select for diffs
Mon Jun 2 13:24:38 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.90.6.1: preferred, colored; branchpoint 1.90: preferred, colored
Changes since revision 1.90.6.1: +1 -0 lines
Sync with HEAD.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Thu Apr 17 05:39:41 2008 UTC (16 years, 7 months ago) by simonb
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, 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, 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, hpcarm-cleanup-nbase, haad-dm-base1
Branch point for: yamt-nfs-mp, nick-hppapmap, netbsd-5, matt-nb5-mips64, haad-dm
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +3 -2 lines
Set up uvmhist in uvm_aio_aiodone_pages().

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

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

Revision 1.85.6.3: download - view: text, markup, annotated - select for diffs
Sun Mar 23 02:05:13 2008 UTC (16 years, 8 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.85.6.2: preferred, colored; branchpoint 1.85: preferred, colored; next MAIN 1.86: preferred, colored
Changes since revision 1.85.6.2: +41 -28 lines
sync with HEAD

Revision 1.68.2.8: download - view: text, markup, annotated - select for diffs
Mon Mar 17 09:15:52 2008 UTC (16 years, 8 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68.2.7: preferred, colored; next MAIN 1.69: preferred, colored
Changes since revision 1.68.2.7: +41 -28 lines
sync with head.

Revision 1.91: download - view: text, markup, annotated - select for diffs
Fri Feb 29 20:35:23 2008 UTC (16 years, 9 months ago) by yamt
Branches: MAIN
CVS tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, ad-socklock-base1
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +41 -28 lines
uvm_swap_io: if pagedaemon, don't wait for iobuf.

Revision 1.87.2.2: download - view: text, markup, annotated - select for diffs
Mon Feb 18 21:07:33 2008 UTC (16 years, 9 months ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.87.2.1: preferred, colored; branchpoint 1.87: preferred, colored; next MAIN 1.88: preferred, colored
Changes since revision 1.87.2.1: +31 -30 lines
Sync with HEAD.

Revision 1.68.2.7: download - view: text, markup, annotated - select for diffs
Mon Jan 21 09:48:23 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68.2.6: preferred, colored
Changes since revision 1.68.2.6: +31 -30 lines
sync with head

Revision 1.85.6.2: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:58:43 2008 UTC (16 years, 11 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.85.6.1: preferred, colored; branchpoint 1.85: preferred, colored
Changes since revision 1.85.6.1: +33 -33 lines
sync with HEAD

Revision 1.89.6.1: download - view: text, markup, annotated - select for diffs
Wed Jan 2 21:58:42 2008 UTC (16 years, 11 months ago) by bouyer
Branches: bouyer-xeni386
CVS tags: bouyer-xeni386-merge1
Diff to: previous 1.89: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89: +29 -28 lines
Sync with HEAD

Revision 1.90: download - view: text, markup, annotated - select for diffs
Wed Jan 2 11:49:19 2008 UTC (16 years, 11 months ago) by ad
Branches: MAIN
CVS tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-base, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Branch point for: mjf-devfs2, keiichi-mipv6
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +31 -30 lines
Merge vmlocking2 to head.

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

Revision 1.68.2.6: download - view: text, markup, annotated - select for diffs
Fri Dec 7 17:35:28 2007 UTC (17 years ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68.2.5: preferred, colored
Changes since revision 1.68.2.5: +4 -5 lines
sync with head

Revision 1.89.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 4 13:04:03 2007 UTC (17 years ago) by ad
Branches: vmlocking2
Diff to: previous 1.89: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89: +31 -30 lines
Pull the vmlocking changes into a new branch.

Revision 1.85.4.3: download - view: text, markup, annotated - select for diffs
Mon Dec 3 16:15:26 2007 UTC (17 years ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.85.4.2: preferred, colored; branchpoint 1.85: preferred, colored; next MAIN 1.86: preferred, colored
Changes since revision 1.85.4.2: +4 -5 lines
Sync with HEAD.

Revision 1.89: download - view: text, markup, annotated - select for diffs
Sat Dec 1 10:40:28 2007 UTC (17 years ago) by yamt
Branches: MAIN
CVS tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +1 -1 lines
constify pagerops.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Sat Dec 1 10:08:21 2007 UTC (17 years ago) by yamt
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +1 -2 lines
uvm_pager_init: use __arraycount.

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

Revision 1.85.6.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:35:32 2007 UTC (17 years, 1 month ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +22 -5 lines
sync with HEAD

Revision 1.85.4.2: download - view: text, markup, annotated - select for diffs
Sun Oct 28 20:11:16 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.85.4.1: preferred, colored; branchpoint 1.85: preferred, colored
Changes since revision 1.85.4.1: +20 -3 lines
Sync with HEAD.

Revision 1.68.2.5: download - view: text, markup, annotated - select for diffs
Sat Oct 27 11:36:55 2007 UTC (17 years, 1 month ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68.2.4: preferred, colored
Changes since revision 1.68.2.4: +20 -3 lines
sync with head.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Thu Oct 25 13:03:06 2007 UTC (17 years, 1 month ago) by yamt
Branches: MAIN
CVS tags: jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +20 -3 lines
defparam PAGER_MAP_SIZE.

Revision 1.81.4.12: download - view: text, markup, annotated - select for diffs
Tue Oct 9 13:45:18 2007 UTC (17 years, 2 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.11: preferred, colored; branchpoint 1.81: preferred, colored; next MAIN 1.82: preferred, colored
Changes since revision 1.81.4.11: +4 -4 lines
Sync with head.

Revision 1.85.4.1: download - view: text, markup, annotated - select for diffs
Mon Sep 3 16:49:17 2007 UTC (17 years, 3 months ago) by jmcneill
Branches: jmcneill-pm
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +4 -4 lines
Sync with HEAD.

Revision 1.68.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:47:10 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68.2.3: preferred, colored
Changes since revision 1.68.2.3: +23 -26 lines
sync with head.

Revision 1.83.2.2: download - view: text, markup, annotated - select for diffs
Mon Sep 3 10:24:26 2007 UTC (17 years, 3 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.83.2.1: preferred, colored; branchpoint 1.83: preferred, colored; next MAIN 1.84: preferred, colored
Changes since revision 1.83.2.1: +4 -4 lines
Sync with HEAD.

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

Revision 1.81.4.11: download - view: text, markup, annotated - select for diffs
Fri Aug 24 23:28:49 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.10: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.10: +7 -5 lines
Sync with buffer cache locking changes. See buf.h/vfs_bio.c for details.
Some minor portions are incomplete and needs to be verified as a whole.

Revision 1.81.4.10: download - view: text, markup, annotated - select for diffs
Thu Aug 23 13:15:19 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.9: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.9: +3 -6 lines
softdep_pageiodone: softdep_pageiodone() acquires bqueue_lock.

Revision 1.81.4.9: download - view: text, markup, annotated - select for diffs
Tue Aug 21 22:32:26 2007 UTC (17 years, 3 months ago) by yamt
Branches: vmlocking
Diff to: previous 1.81.4.8: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.8: +6 -4 lines
fix some races around pagedaemon and uvm_wait.  ok'ed by Andrew Doran.

Revision 1.81.4.8: download - view: text, markup, annotated - select for diffs
Mon Aug 20 03:22:45 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.7: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.7: +6 -4 lines
softdep locking improvements. It hangs looping in flush_inodedep_deps(),
more work required.

Revision 1.81.4.7: download - view: text, markup, annotated - select for diffs
Sun Aug 19 19:25:03 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.6: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.6: +8 -5 lines
- Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).

Revision 1.83.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 15 13:51:23 2007 UTC (17 years, 4 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +19 -22 lines
Sync with HEAD.

Revision 1.85.8.2: download - view: text, markup, annotated - select for diffs
Sun Jul 29 13:31:18 2007 UTC (17 years, 4 months ago) by ad
Branches: matt-mips64
Diff to: previous 1.85.8.1: preferred, colored; branchpoint 1.85: preferred, colored; next MAIN 1.86: preferred, colored
Changes since revision 1.85.8.1: +495 -0 lines
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.85.8.1
Sun Jul 29 13:31:17 2007 UTC (17 years, 4 months ago) by ad
Branches: matt-mips64
FILE REMOVED
Changes since revision 1.85: +0 -495 lines
file uvm_pager.c was added on branch matt-mips64 on 2007-07-29 13:31:18 +0000

Revision 1.85: download - view: text, markup, annotated - select for diffs
Sun Jul 29 13:31:17 2007 UTC (17 years, 4 months ago) by ad
Branches: MAIN
CVS tags: matt-mips64-base, hpcarm-cleanup
Branch point for: matt-mips64, matt-armv6, jmcneill-pm
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +4 -6 lines
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.84: download - view: text, markup, annotated - select for diffs
Sat Jul 21 19:21:55 2007 UTC (17 years, 4 months ago) by ad
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +17 -18 lines
Merge unobtrusive locking changes from the vmlocking branch.

Revision 1.81.4.6: download - view: text, markup, annotated - select for diffs
Sun Jul 15 15:53:07 2007 UTC (17 years, 5 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.5: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.5: +3 -3 lines
Sync with head.

Revision 1.83: download - view: text, markup, annotated - select for diffs
Thu Jul 12 20:39:57 2007 UTC (17 years, 5 months ago) by rmind
Branches: MAIN
CVS tags: nick-csl-alignment-base
Branch point for: nick-csl-alignment
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +3 -3 lines
Implementation of per-CPU work-queues support for workqueue(9) interface.
WQ_PERCPU flag for workqueue and additional argument for workqueue_enqueue()
to assign a CPU might be used. Notes:
 - For now, the list is used for workqueue_queue, which is non-optimal,
   and will be changed with array, where index would be CPU ID.
 - The data structures should be changed to be cache-friendly.

Reviewed by: <yamt>, <tech-kern>

Revision 1.81.6.1: download - view: text, markup, annotated - select for diffs
Wed Jul 11 20:12:57 2007 UTC (17 years, 5 months ago) by mjf
Branches: mjf-ufs-trans
Diff to: previous 1.81: preferred, colored; next MAIN 1.82: preferred, colored
Changes since revision 1.81: +3 -3 lines
Sync with head.

Revision 1.82: download - view: text, markup, annotated - select for diffs
Mon Jul 9 21:11:37 2007 UTC (17 years, 5 months ago) by ad
Branches: MAIN
CVS tags: mjf-ufs-trans-base
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +3 -3 lines
Merge some of the less invasive changes from the vmlocking branch:

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

Revision 1.81.4.5: download - view: text, markup, annotated - select for diffs
Sun Jun 17 21:32:21 2007 UTC (17 years, 5 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.4: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.4: +3 -3 lines
- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.81.4.4: download - view: text, markup, annotated - select for diffs
Sun May 13 17:36:47 2007 UTC (17 years, 7 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.3: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.3: +3 -7 lines
- Pass the error number and residual count to biodone(), and let it handle
  setting error indicators. Prepare to eliminate B_ERROR.
- Add a flag argument to brelse() to be set into the buf's flags, instead
  of doing it directly. Typically used to set B_INVAL.
- Add a "struct cpu_info *" argument to kthread_create(), to be used to
  create bound threads. Change "bool mpsafe" to "int flags".
- Allow exit of LWPs in the IDL state when (l != curlwp).
- More locking fixes & conversion to the new API.

Revision 1.81.4.3: download - view: text, markup, annotated - select for diffs
Mon Apr 9 22:10:08 2007 UTC (17 years, 8 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.2: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.2: +3 -3 lines
- Add two new arguments to kthread_create1: pri_t pri, bool mpsafe.
- Fork kthreads off proc0 as new LWPs, not new processes.

Revision 1.81.4.2: download - view: text, markup, annotated - select for diffs
Wed Mar 21 20:12:00 2007 UTC (17 years, 8 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81.4.1: preferred, colored; branchpoint 1.81: preferred, colored
Changes since revision 1.81.4.1: +4 -8 lines
- Replace more simple_locks, and fix up in a few places.
- Use condition variables.
- LOCK_ASSERT -> KASSERT.

Revision 1.81.4.1: download - view: text, markup, annotated - select for diffs
Tue Mar 13 17:51:57 2007 UTC (17 years, 9 months ago) by ad
Branches: vmlocking
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +23 -23 lines
Pull in the initial set of changes for the vmlocking branch.

Revision 1.79.2.1: download - view: text, markup, annotated - select for diffs
Tue Feb 27 16:55:28 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.79: preferred, colored; next MAIN 1.80: preferred, colored
Changes since revision 1.79: +16 -16 lines
- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.68.2.3: download - view: text, markup, annotated - select for diffs
Mon Feb 26 09:12:32 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68.2.2: preferred, colored
Changes since revision 1.68.2.2: +16 -16 lines
sync with head.

Revision 1.81: download - view: text, markup, annotated - select for diffs
Thu Feb 22 06:05:01 2007 UTC (17 years, 9 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +11 -11 lines
TRUE -> true, FALSE -> false

Revision 1.80: download - view: text, markup, annotated - select for diffs
Wed Feb 21 23:00:14 2007 UTC (17 years, 9 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +7 -7 lines
Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.

Revision 1.77.8.2: download - view: text, markup, annotated - select for diffs
Fri Jan 12 01:04:25 2007 UTC (17 years, 11 months ago) by ad
Branches: newlock2
Diff to: previous 1.77.8.1: preferred, colored; branchpoint 1.77: preferred, colored; next MAIN 1.78: preferred, colored
Changes since revision 1.77.8.1: +3 -6 lines
Sync with head.

Revision 1.68.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 20:51:05 2006 UTC (17 years, 11 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68.2.1: preferred, colored
Changes since revision 1.68.2.1: +6 -8 lines
sync with head.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Thu Dec 21 15:55:26 2006 UTC (17 years, 11 months ago) by yamt
Branches: MAIN
CVS tags: post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +3 -6 lines
merge yamt-splraiseipl branch.

	- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.

Revision 1.77.8.1: download - view: text, markup, annotated - select for diffs
Sat Nov 18 21:39:50 2006 UTC (18 years ago) by ad
Branches: newlock2
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +5 -4 lines
Sync with head.

Revision 1.78.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 22 08:07:53 2006 UTC (18 years, 1 month ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.78: preferred, colored; next MAIN 1.79: preferred, colored
Changes since revision 1.78: +3 -6 lines
use workqueue for aiodoned.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Fri Sep 15 15:51:13 2006 UTC (18 years, 3 months ago) by yamt
Branches: MAIN
CVS tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: yamt-splraiseipl
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +5 -4 lines
merge yamt-pdpolicy branch.
	- separate page replacement policy from the rest of kernel
	- implement an alternative replacement policy

Revision 1.73.2.1: download - view: text, markup, annotated - select for diffs
Sat Sep 9 03:00:13 2006 UTC (18 years, 3 months ago) by rpaulo
Branches: rpaulo-netinet-merge-pcb
Diff to: previous 1.73: preferred, colored; next MAIN 1.74: preferred, colored
Changes since revision 1.73: +26 -6 lines
sync with head

Revision 1.68.2.1: download - view: text, markup, annotated - select for diffs
Wed Jun 21 15:12:40 2006 UTC (18 years, 5 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +54 -15 lines
sync with head.

Revision 1.74.6.1: download - view: text, markup, annotated - select for diffs
Wed May 24 15:50:49 2006 UTC (18 years, 6 months ago) by tron
Branches: peter-altq
Diff to: previous 1.74: preferred, colored; next MAIN 1.75: preferred, colored
Changes since revision 1.74: +5 -3 lines
Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.74.2.4: download - view: text, markup, annotated - select for diffs
Wed May 24 10:59:30 2006 UTC (18 years, 6 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.74.2.3: preferred, colored; branchpoint 1.74: preferred, colored; next MAIN 1.75: preferred, colored
Changes since revision 1.74.2.3: +3 -2 lines
sync with head.

Revision 1.73.4.1: download - view: text, markup, annotated - select for diffs
Sat Apr 22 11:40:30 2006 UTC (18 years, 7 months ago) by simonb
Branches: simonb-timecounters
CVS tags: simonb-timcounters-final
Diff to: previous 1.73: preferred, colored; next MAIN 1.74: preferred, colored
Changes since revision 1.73: +26 -6 lines
Sync with head.

Revision 1.74.4.1: download - view: text, markup, annotated - select for diffs
Wed Apr 19 03:58:21 2006 UTC (18 years, 7 months ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.74: preferred, colored; next MAIN 1.75: preferred, colored
Changes since revision 1.74: +7 -5 lines
oops - *really* sync to head this time.

Revision 1.77: download - view: text, markup, annotated - select for diffs
Thu Apr 13 02:32:14 2006 UTC (18 years, 8 months ago) by christos
Branches: MAIN
CVS tags: yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: newlock2
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +4 -3 lines
Change previous to KASSERT per yamt's request.

Revision 1.76: download - view: text, markup, annotated - select for diffs
Thu Apr 13 01:05:17 2006 UTC (18 years, 8 months ago) by christos
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +3 -3 lines
Coverity CID 835: Check before dereferencing pg->uanon.

Revision 1.74.2.3: download - view: text, markup, annotated - select for diffs
Tue Apr 11 11:55:59 2006 UTC (18 years, 8 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.74.2.2: preferred, colored; branchpoint 1.74: preferred, colored
Changes since revision 1.74.2.2: +6 -5 lines
sync with head

Revision 1.75: download - view: text, markup, annotated - select for diffs
Tue Apr 11 09:29:40 2006 UTC (18 years, 8 months ago) by yamt
Branches: MAIN
CVS tags: yamt-pdpolicy-base4
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +4 -3 lines
uvm_pagermapin: nowait allocation for pagedaemon.

Revision 1.74.2.2: download - view: text, markup, annotated - select for diffs
Sun Mar 12 09:38:56 2006 UTC (18 years, 9 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.74.2.1: preferred, colored; branchpoint 1.74: preferred, colored
Changes since revision 1.74.2.1: +2 -1 lines
- change the way to account read-ahead stats.
- fix UVM_PQFLAGBITS.

Revision 1.74.2.1: download - view: text, markup, annotated - select for diffs
Sun Mar 5 12:51:09 2006 UTC (18 years, 9 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +1 -1 lines
separate page replacement policy from the rest of kernel.

Revision 1.72.2.2: download - view: text, markup, annotated - select for diffs
Sat Feb 18 15:39:31 2006 UTC (18 years, 9 months ago) by yamt
Branches: yamt-uio_vmspace
Diff to: previous 1.72.2.1: preferred, colored; branchpoint 1.72: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72.2.1: +21 -3 lines
sync with head.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Sat Feb 11 12:45:07 2006 UTC (18 years, 10 months ago) by yamt
Branches: MAIN
CVS tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, peter-altq, elad-kernelauth
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +19 -1 lines
remove the following options.  no objections on tech-kern@.

	UVM_PAGER_INLINE
	UVM_AMAP_INLINE
	UVM_PAGE_INLINE
	UVM_MAP_INLINE

Revision 1.72.2.1: download - view: text, markup, annotated - select for diffs
Sun Jan 15 10:03:05 2006 UTC (18 years, 11 months ago) by yamt
Branches: yamt-uio_vmspace
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +4 -4 lines
sync with head.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Wed Jan 4 10:13:06 2006 UTC (18 years, 11 months ago) by yamt
Branches: MAIN
Branch point for: simonb-timecounters, rpaulo-netinet-merge-pcb
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +2 -2 lines
- add simple functions to allocate/free a buffer for i/o.
- make bufpool static.

Revision 1.60.2.8: download - view: text, markup, annotated - select for diffs
Sun Dec 11 10:29:42 2005 UTC (19 years ago) by christos
Branches: ktrace-lwp
Diff to: previous 1.60.2.7: preferred, colored; next MAIN 1.61: preferred, colored
Changes since revision 1.60.2.7: +7 -2 lines
Sync with head.

Revision 1.71.6.1: download - view: text, markup, annotated - select for diffs
Tue Nov 29 21:23:34 2005 UTC (19 years ago) by yamt
Branches: yamt-readahead
Diff to: previous 1.71: preferred, colored; next MAIN 1.72: preferred, colored
Changes since revision 1.71: +7 -2 lines
sync with head.

Revision 1.72: download - view: text, markup, annotated - select for diffs
Tue Nov 29 15:45:28 2005 UTC (19 years ago) by yamt
Branches: MAIN
CVS tags: yamt-readahead-base3, ktrace-lwp-base
Branch point for: yamt-uio_vmspace
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +7 -2 lines
read-ahead statistics.

Revision 1.60.2.7: download - view: text, markup, annotated - select for diffs
Thu Nov 10 14:12:40 2005 UTC (19 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.60.2.6: preferred, colored
Changes since revision 1.60.2.6: +30 -24 lines
Sync with HEAD. Here we go again...

Revision 1.71: download - view: text, markup, annotated - select for diffs
Tue Sep 13 22:00:05 2005 UTC (19 years, 3 months ago) by yamt
Branches: MAIN
CVS tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base2, yamt-readahead-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-readahead
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +23 -9 lines
wrap swap related code by #ifdef VMSWAP.  always #define VMSWAP for now.

Revision 1.70: download - view: text, markup, annotated - select for diffs
Sun Jul 31 04:04:47 2005 UTC (19 years, 4 months ago) by yamt
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +9 -23 lines
revert "defflag VMSWAP" changes for now.
there seems to be far more people who don't want to edit
their kernel config files than i thought.

Revision 1.69: download - view: text, markup, annotated - select for diffs
Sat Jul 30 06:33:36 2005 UTC (19 years, 4 months ago) by yamt
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +23 -9 lines
defflag VMSWAP.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Tue Jun 28 05:25:42 2005 UTC (19 years, 5 months ago) by thorpej
Branches: MAIN
Branch point for: yamt-lazymbuf
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +3 -3 lines
Clean up the cpp macro used to say "we're compiling this specific C file".

Revision 1.67: download - view: text, markup, annotated - select for diffs
Mon Jun 27 02:19:48 2005 UTC (19 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +8 -16 lines
Use ANSI function decls.

Revision 1.65.2.1: download - view: text, markup, annotated - select for diffs
Fri Apr 29 11:29:45 2005 UTC (19 years, 7 months ago) by kent
Branches: kent-audio2
Diff to: previous 1.65: preferred, colored; next MAIN 1.66: preferred, colored
Changes since revision 1.65: +9 -4 lines
sync with -current

Revision 1.60.2.6: download - view: text, markup, annotated - select for diffs
Fri Apr 1 14:32:12 2005 UTC (19 years, 8 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.60.2.5: preferred, colored
Changes since revision 1.60.2.5: +9 -4 lines
Sync with HEAD.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Fri Apr 1 11:59:39 2005 UTC (19 years, 8 months ago) by yamt
Branches: MAIN
CVS tags: kent-audio2-base
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +9 -4 lines
merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.

Revision 1.65.4.1: download - view: text, markup, annotated - select for diffs
Tue Jan 25 12:58:29 2005 UTC (19 years, 10 months ago) by yamt
Branches: yamt-km
Diff to: previous 1.65: preferred, colored; next MAIN 1.66: preferred, colored
Changes since revision 1.65: +9 -4 lines
- don't use uvm_object or managed mappings for wired allocations.
  (eg. malloc(9))
- simplify uvm_km_* apis.

Revision 1.60.2.5: download - view: text, markup, annotated - select for diffs
Mon Jan 17 19:33:11 2005 UTC (19 years, 10 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.60.2.4: preferred, colored
Changes since revision 1.60.2.4: +3 -3 lines
Sync with HEAD.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Sat Jan 1 21:00:06 2005 UTC (19 years, 11 months ago) by yamt
Branches: MAIN
CVS tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, kent-audio1-beforemerge
Branch point for: yamt-km, kent-audio2
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +3 -3 lines
for in-kernel maps,
- allocate kva for vm_map_entry from the map itsself and
  remove the static limit, MAX_KMAPENT.
- keep merged entries for later splitting to fix allocate-to-free problem.
  PR/24039.

Revision 1.60.2.4: download - view: text, markup, annotated - select for diffs
Tue Oct 19 15:58:31 2004 UTC (20 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.60.2.3: preferred, colored
Changes since revision 1.60.2.3: +3 -2 lines
Sync with HEAD

Revision 1.64: download - view: text, markup, annotated - select for diffs
Sun Oct 3 07:59:02 2004 UTC (20 years, 2 months ago) by enami
Branches: MAIN
CVS tags: kent-audio1-base, kent-audio1
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +3 -2 lines
Count obj pages freed by pagedaemon.

Revision 1.60.2.3: download - view: text, markup, annotated - select for diffs
Tue Sep 21 13:39:29 2004 UTC (20 years, 2 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.60.2.2: preferred, colored
Changes since revision 1.60.2.2: +2 -2 lines
Fix the sync with head I botched.

Revision 1.60.2.2: download - view: text, markup, annotated - select for diffs
Sat Sep 18 14:57:12 2004 UTC (20 years, 2 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.60.2.1: preferred, colored
Changes since revision 1.60.2.1: +0 -0 lines
Sync with HEAD.

Revision 1.60.2.1: download - view: text, markup, annotated - select for diffs
Tue Aug 3 10:57:08 2004 UTC (20 years, 4 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +34 -7 lines
Sync with HEAD

Revision 1.62.2.1: download - view: text, markup, annotated - select for diffs
Mon May 10 14:26:44 2004 UTC (20 years, 7 months ago) by tron
Branches: netbsd-2-0
CVS tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2
Diff to: previous 1.62: preferred, colored; next MAIN 1.63: preferred, colored
Changes since revision 1.62: +11 -5 lines
Pull up revision 1.63 (requested by yamt in ticket #271):
fix a amap_wirerange deadlock problem by re-introducing
PG_RELEASED for anon pages.  PR/23171 from Christian Limpach.
for details, see discussion filed in the PR database.
uvm_anon_release: a new function to free anon-owned PG_RELEASED page.
uvm_anfree: we can't wait for the page here because the caller might hold
	amap lock.  instead, just mark the page as PG_RELEASED.
	who unbusy the page should check the PG_RELEASED.
uvm_aio_aiodone: uvm_anon_release() instead of uvm_page_unbusy()
	if appropriate.
uvmfault_anonget: check PG_RELEASED.

Revision 1.63: download - view: text, markup, annotated - select for diffs
Wed May 5 11:54:32 2004 UTC (20 years, 7 months ago) by yamt
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +11 -5 lines
fix a amap_wirerange deadlock problem by re-introducing
PG_RELEASED for anon pages.  PR/23171 from Christian Limpach.
for details, see discussion filed in the PR database.

uvm_anon_release: a new function to free anon-owned PG_RELEASED page.
uvm_anfree: we can't wait for the page here because the caller might hold
	amap lock.  instead, just mark the page as PG_RELEASED.
	who unbusy the page should check the PG_RELEASED.
uvm_aio_aiodone: uvm_anon_release() instead of uvm_page_unbusy()
	if appropriate.
uvmfault_anonget: check PG_RELEASED.

Revision 1.62: download - view: text, markup, annotated - select for diffs
Mon Sep 1 14:20:57 2003 UTC (21 years, 3 months ago) by pk
Branches: MAIN
CVS tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +6 -5 lines
Can't rely on side-effects in KASSERT expressions which was pointed out to
me by YAMAMOTO Takashi.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Thu Aug 28 13:12:19 2003 UTC (21 years, 3 months ago) by pk
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +24 -4 lines
When retiring a swap device with marked bad blocks on it we should update
the `# swap page in use' and `# swap page only' counters.  However, at the
time of swap device removal we can no longer figure out how many of the
bad swap pages are actually also `swap only' pages.

So, on swap I/O errors arrange things to not include the bad swap pages in
the `swpgonly' counter as follows: uvm_swap_markbad() decrements `swpgonly'
by the number of bad pages, and the various VM object deallocation routines
do not decrement `swpgonly' for swap slots marked as SWSLOT_BAD.

Revision 1.57.4.1: download - view: text, markup, annotated - select for diffs
Tue Aug 26 06:47:08 2003 UTC (21 years, 3 months ago) by tron
Branches: netbsd-1-6
CVS tags: netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002
Diff to: previous 1.57: preferred, colored; next MAIN 1.58: preferred, colored
Changes since revision 1.57: +5 -4 lines
Pull up revision 1.60 (requested by tls in ticket #1434):
Correct use of MAXBSIZE where MAXPHYS was intended.  This is a necessary
first step towards per-device MAXPHYS, and has the beneficial side effect
of allowing clustering to MAXPHYS even on systems that need to run with
a reduced MAXBSIZE to get more metadata buffers.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Wed Apr 23 00:55:22 2003 UTC (21 years, 7 months ago) by tls
Branches: MAIN
Branch point for: ktrace-lwp
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +5 -4 lines
Correct use of MAXBSIZE where MAXPHYS was intended.  This is a necessary
first step towards per-device MAXPHYS, and has the beneficial side effect
of allowing clustering to MAXPHYS even on systems that need to run with
a reduced MAXBSIZE to get more metadata buffers.

Revision 1.41.2.12: download - view: text, markup, annotated - select for diffs
Mon Nov 11 22:17:10 2002 UTC (22 years, 1 month ago) by nathanw
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.41.2.11: preferred, colored; next MAIN 1.42: preferred, colored
Changes since revision 1.41.2.11: +1 -1 lines
Catch up to -current

Revision 1.59: download - view: text, markup, annotated - select for diffs
Sat Nov 9 20:09:52 2002 UTC (22 years, 1 month ago) by thorpej
Branches: MAIN
CVS tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +3 -3 lines
Fix signed/unsigned comparison warnings.

Revision 1.41.2.11: download - view: text, markup, annotated - select for diffs
Fri Oct 18 02:46:01 2002 UTC (22 years, 1 month ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.10: preferred, colored
Changes since revision 1.41.2.10: +4 -3 lines
Catch up to -current.

Revision 1.48.2.4: download - view: text, markup, annotated - select for diffs
Thu Oct 10 18:45:09 2002 UTC (22 years, 2 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.48.2.3: preferred, colored; branchpoint 1.48: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48.2.3: +4 -3 lines
sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.58: download - view: text, markup, annotated - select for diffs
Tue Oct 1 07:52:30 2002 UTC (22 years, 2 months ago) by chs
Branches: MAIN
CVS tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +4 -3 lines
uao_find_swslot()'s second argument is in units of pages, not bytes.
spotted by Doug Donsbach.

Revision 1.41.2.10: download - view: text, markup, annotated - select for diffs
Tue Jul 16 14:06:11 2002 UTC (22 years, 5 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.9: preferred, colored
Changes since revision 1.41.2.9: +3 -3 lines
pagedaemon_proc really should be a proc, not a LWP.

Revision 1.41.2.9: download - view: text, markup, annotated - select for diffs
Mon Jun 24 22:12:57 2002 UTC (22 years, 5 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.8: preferred, colored
Changes since revision 1.41.2.8: +3 -3 lines
Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).

Revision 1.48.2.3: download - view: text, markup, annotated - select for diffs
Sun Jun 23 17:52:18 2002 UTC (22 years, 5 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.48.2.2: preferred, colored; branchpoint 1.48: preferred, colored
Changes since revision 1.48.2.2: +4 -11 lines
catch up with -current on kqueue branch

Revision 1.41.2.8: download - view: text, markup, annotated - select for diffs
Thu Jun 20 03:50:44 2002 UTC (22 years, 5 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.7: preferred, colored
Changes since revision 1.41.2.7: +4 -11 lines
Catch up to -current.

Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed May 15 06:57:50 2002 UTC (22 years, 7 months ago) by matt
Branches: MAIN
CVS tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, gehenna-devsw-base, gehenna-devsw
Branch point for: netbsd-1-6
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +3 -7 lines
When core dumping a process, don't dump maps backed up by the device pager.
(move the pagerops externs to uvm_object.h and out the C files).

Revision 1.56: download - view: text, markup, annotated - select for diffs
Thu May 9 07:14:38 2002 UTC (22 years, 7 months ago) by enami
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +3 -6 lines
- In genfs_putpages(), no need to restrict the cluster within the given
  region.
- In uvm_aio_aiodone(), remove assertions no longer true.

Revision 1.55.4.1: download - view: text, markup, annotated - select for diffs
Mon Mar 11 21:28:55 2002 UTC (22 years, 9 months ago) by thorpej
Branches: newlock
Diff to: previous 1.55: preferred, colored; next MAIN 1.56: preferred, colored
Changes since revision 1.55: +4 -4 lines
Convert swap_syscall_lock and uvm.swap_data_lock to adaptive mutexes,
and rename them apporpriately.

Revision 1.48.2.2: download - view: text, markup, annotated - select for diffs
Thu Jan 10 20:05:44 2002 UTC (22 years, 11 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.48.2.1: preferred, colored; branchpoint 1.48: preferred, colored
Changes since revision 1.48.2.1: +110 -538 lines
Sync kqueue branch with -current.

Revision 1.41.2.7: download - view: text, markup, annotated - select for diffs
Tue Jan 8 00:35:05 2002 UTC (22 years, 11 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.6: preferred, colored
Changes since revision 1.41.2.6: +13 -12 lines
Catch up to -current.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Mon Dec 31 19:21:38 2001 UTC (22 years, 11 months ago) by chs
Branches: MAIN
CVS tags: newlock-base, ifpoll-base, eeh-devprop-base, eeh-devprop
Branch point for: newlock
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +13 -12 lines
fix locking for loaning.  in general we should be looking at the page's
uobject and uanon pointers rather than at the PQ_ANON flag to determine
which lock to hold, since PQ_ANON can be clear even when the anon's lock
is the one which we should hold (if the page was loaned from an object
and then freed by the object).

Revision 1.41.2.6: download - view: text, markup, annotated - select for diffs
Wed Nov 14 19:19:08 2001 UTC (23 years, 1 month ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.5: preferred, colored
Changes since revision 1.41.2.5: +21 -14 lines
Catch up to -current.

Revision 1.51.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 12 21:19:57 2001 UTC (23 years, 1 month ago) by thorpej
Branches: thorpej-mips-cache
Diff to: previous 1.51: preferred, colored; next MAIN 1.52: preferred, colored
Changes since revision 1.51: +21 -14 lines
Sync the thorpej-mips-cache branch with -current.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Sat Nov 10 07:37:00 2001 UTC (23 years, 1 month ago) by lukem
Branches: MAIN
CVS tags: thorpej-mips-cache-base
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +6 -3 lines
add RCSIDs, and in some cases, slightly cleanup #include order

Revision 1.53: download - view: text, markup, annotated - select for diffs
Tue Nov 6 08:07:51 2001 UTC (23 years, 1 month ago) by chs
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +15 -10 lines
several changes prompted by loaning problems:
 - fix the loaned case in uvm_pagefree().
 - redo uvmexp.swpgonly accounting to work with page loaning.
   add an assertion before each place we adjust uvmexp.swpgonly.
 - fix uvm_km_pgremove() to always free any swap space associated with
   the range being removed.
 - get rid of UVM_LOAN_WIRED flag.  instead, we just make sure that
   pages loaned to the kernel are never on the page queues.
   this allows us to assert that pages are not loaned and wired
   at the same time.
 - add yet more assertions.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Tue Nov 6 06:28:22 2001 UTC (23 years, 1 month ago) by simonb
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +2 -3 lines
Remove some variables that are set but never used.

Revision 1.41.2.5: download - view: text, markup, annotated - select for diffs
Mon Oct 22 20:42:14 2001 UTC (23 years, 1 month ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.4: preferred, colored
Changes since revision 1.41.2.4: +3 -2 lines
Catch up to -current.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Mon Oct 15 00:37:51 2001 UTC (23 years, 2 months ago) by chs
Branches: MAIN
Branch point for: thorpej-mips-cache
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +3 -2 lines
fix an uninitialized-variable problem in an error case.
pointed out by Simon Burge.

Revision 1.48.4.1: download - view: text, markup, annotated - select for diffs
Mon Oct 1 12:48:45 2001 UTC (23 years, 2 months ago) by fvdl
Branches: thorpej-devvp
Diff to: previous 1.48: preferred, colored; next MAIN 1.49: preferred, colored
Changes since revision 1.48: +100 -537 lines
Catch up with -current.

Revision 1.41.2.4: download - view: text, markup, annotated - select for diffs
Fri Sep 21 22:37:16 2001 UTC (23 years, 2 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.3: preferred, colored
Changes since revision 1.41.2.3: +100 -537 lines
Catch up to -current.

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sat Sep 15 20:36:47 2001 UTC (23 years, 3 months ago) by chs
Branches: MAIN
CVS tags: thorpej-devvp-base3, thorpej-devvp-base2, post-chs-ubcperf
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +98 -535 lines
a whole bunch of changes to improve performance and robustness under load:

 - remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.

Revision 1.48.2.1: download - view: text, markup, annotated - select for diffs
Thu Sep 13 01:16:34 2001 UTC (23 years, 3 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +3 -3 lines
Update the kqueue branch to HEAD.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Mon Sep 10 21:19:43 2001 UTC (23 years, 3 months ago) by chris
Branches: MAIN
CVS tags: pre-chs-ubcperf
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +3 -3 lines
Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.

Revision 1.41.2.3: download - view: text, markup, annotated - select for diffs
Fri Aug 24 00:13:43 2001 UTC (23 years, 3 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.2: preferred, colored
Changes since revision 1.41.2.2: +7 -10 lines
Catch up with -current.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Sat Jun 23 20:47:44 2001 UTC (23 years, 5 months ago) by chs
Branches: MAIN
CVS tags: thorpej-devvp-base
Branch point for: thorpej-devvp, kqueue
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +7 -10 lines
clean up the transient error case in uvm_pager_put().

Revision 1.41.2.2: download - view: text, markup, annotated - select for diffs
Thu Jun 21 20:10:41 2001 UTC (23 years, 5 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41.2.1: preferred, colored
Changes since revision 1.41.2.1: +24 -22 lines
Catch up to -current.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Sat Jun 2 18:09:27 2001 UTC (23 years, 6 months ago) by chs
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +3 -3 lines
replace vm_map{,_entry}_t with struct vm_map{,_entry} *.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Sat May 26 16:32:47 2001 UTC (23 years, 6 months ago) by chs
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +2 -2 lines
replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Fri May 25 04:06:16 2001 UTC (23 years, 6 months ago) by chs
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +19 -19 lines
remove trailing whitespace.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Tue Apr 24 04:31:18 2001 UTC (23 years, 7 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej_scsipi_beforemerge
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +3 -1 lines
Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.

Revision 1.41.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 9 01:59:20 2001 UTC (23 years, 8 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +18 -42 lines
Catch up with -current.

Revision 1.23.2.6: download - view: text, markup, annotated - select for diffs
Tue Mar 27 15:32:51 2001 UTC (23 years, 8 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.23.2.5: preferred, colored; branchpoint 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23.2.5: +4 -4 lines
Sync with HEAD.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Thu Mar 15 06:10:58 2001 UTC (23 years, 9 months ago) by chs
Branches: MAIN
CVS tags: thorpej_scsipi_nbase, thorpej_scsipi_base
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +4 -4 lines
eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>

Revision 1.23.2.5: download - view: text, markup, annotated - select for diffs
Mon Mar 12 13:32:14 2001 UTC (23 years, 9 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.23.2.4: preferred, colored; branchpoint 1.23: preferred, colored
Changes since revision 1.23.2.4: +26 -64 lines
Sync with HEAD.

Revision 1.42: download - view: text, markup, annotated - select for diffs
Sat Mar 10 22:46:49 2001 UTC (23 years, 9 months ago) by chs
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +15 -39 lines
eliminate the VM_PAGER_* error codes in favor of the traditional E* codes.
the mapping is:

VM_PAGER_OK		        0
VM_PAGER_BAD		        <unused>
VM_PAGER_FAIL		        <unused>
VM_PAGER_PEND		        0 (see below)
VM_PAGER_ERROR		        EIO
VM_PAGER_AGAIN		        EAGAIN
VM_PAGER_UNLOCK		        EBUSY
VM_PAGER_REFAULT	        ERESTART

for async i/o requests, it used to be possible for the request to
be convert to sync, and the pager would return VM_PAGER_OK or VM_PAGER_PEND
to indicate whether the caller should perform post-i/o cleanup.
this is no longer allowed; pagers must now return 0 to indicate that
the async i/o was successfully started, and the caller never needs to
worry about doing the post-i/o cleanup.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Sun Feb 18 19:26:50 2001 UTC (23 years, 9 months ago) by chs
Branches: MAIN
Branch point for: nathanw_sa
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +12 -26 lines
in uvm_aio_aiodone(), don't mark the page(s) clean if the pageout
failed because we failed to acquire some resource needed to initiate
the pageout (such as failing to lock an indirect buffer) rather than
a hard i/o error.  in this case we just want to reactivate the page(s)
so that we'll try to write them again later.

while I'm here, clean up some DIAGNOSTIC code.

Revision 1.23.2.4: download - view: text, markup, annotated - select for diffs
Sun Feb 11 19:17:50 2001 UTC (23 years, 10 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.23.2.3: preferred, colored; branchpoint 1.23: preferred, colored
Changes since revision 1.23.2.3: +24 -24 lines
Sync with HEAD.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Sun Feb 4 10:55:12 2001 UTC (23 years, 10 months ago) by mrg
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -1 lines
add a KASSERT(pp) in the uvm_pagermapin() loop.

Revision 1.39: download - view: text, markup, annotated - select for diffs
Sun Jan 28 23:30:45 2001 UTC (23 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +23 -24 lines
Page scanner improvements, behavior is actually a bit more like
Mach VM's now.  Specific changes:
- Pages now need not have all of their mappings removed before being
  put on the inactive list.  They only need to have the "referenced"
  attribute cleared.  This makes putting pages onto the inactive list
  much more efficient.  In order to eliminate redundant clearings of
  "refrenced", callers of uvm_pagedeactivate() must now do this
  themselves.
- When checking the "modified" attribute for a page (for clearing
  PG_CLEAN), make sure to only do it if PG_CLEAN is currently set on
  the page (saves a potentially expensive pmap operation).
- When scanning the inactive list, if a page is referenced, reactivate
  it (this part was actually added in uvm_pdaemon.c,v 1.27).  This
  now works properly now that pages on the inactive list are allowed to
  have mappings.
- When scanning the inactive list and considering a page for freeing,
  remove all mappings, and then check the "modified" attribute if the
  page is marked PG_CLEAN.
- When scanning the active list, if the page was referenced since its
  last sweep by the scanner, don't deactivate it.  (This part was
  actually added in uvm_pdaemon.c,v 1.28.)

These changes greatly improve interactive performance during
moderate to high memory and I/O load.

Revision 1.23.2.3: download - view: text, markup, annotated - select for diffs
Wed Dec 13 15:50:44 2000 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.23.2.2: preferred, colored; branchpoint 1.23: preferred, colored
Changes since revision 1.23.2.2: +3 -5 lines
Sync with HEAD (for UBC fixes).

Revision 1.38: download - view: text, markup, annotated - select for diffs
Sat Dec 9 23:26:27 2000 UTC (24 years ago) by chs
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +4 -6 lines
in uvm_pagermapin(), for now, don't pass the flag to pmap_enter()
which presets the page modified bit if the page is already initialized.
we don't actually want to modify such pages.

Revision 1.23.2.2: download - view: text, markup, annotated - select for diffs
Fri Dec 8 09:21:03 2000 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.23.2.1: preferred, colored; branchpoint 1.23: preferred, colored
Changes since revision 1.23.2.1: +239 -45 lines
Sync with HEAD.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Fri Dec 1 09:54:42 2000 UTC (24 years ago) by chs
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +4 -1 lines
make sure that pages are on an paging queue before unlocking them.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon Nov 27 18:26:41 2000 UTC (24 years ago) by chs
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +3 -5 lines
allow building without SOFTDEP by adding the pageiodone hook to bio_ops.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Mon Nov 27 08:40:05 2000 UTC (24 years ago) by chs
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +238 -44 lines
Initial integration of the Unified Buffer Cache project.

Revision 1.34: download - view: text, markup, annotated - select for diffs
Fri Nov 24 22:41:39 2000 UTC (24 years ago) by chs
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +1 -2 lines
increase PAGER_MAP_SIZE to 16MB and move it to uvm_pager.h
since the alpha and mips pmaps use it.

Revision 1.23.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 20 18:12:04 2000 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +86 -122 lines
Update thorpej_scsipi to -current as of a month ago

Revision 1.33: download - view: text, markup, annotated - select for diffs
Wed Sep 13 15:00:25 2000 UTC (24 years, 3 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -2 lines
Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Tue Jun 27 17:29:32 2000 UTC (24 years, 5 months ago) by mrg
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +1 -3 lines
remove include of <vm/vm.h>

Revision 1.31: download - view: text, markup, annotated - select for diffs
Mon Jun 26 14:21:18 2000 UTC (24 years, 5 months ago) by mrg
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +1 -3 lines
remove/move more mach vm header files:

	<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Sat May 20 03:36:06 2000 UTC (24 years, 6 months ago) by thorpej
Branches: MAIN
CVS tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -13 lines
Remove VM_PROT_EXECUTE from the permissions used to map the page
for pager I/O -- it is not needed, and including it leads to
unnecessary I-cache flushes.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Fri May 19 03:45:04 2000 UTC (24 years, 6 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +29 -16 lines
Tell uvm_pagermapin() the direction of the I/O so that it can map
with only the protection that it needs.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Mon Apr 3 08:09:02 2000 UTC (24 years, 8 months ago) by chs
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +1 -36 lines
remove uvm_shareprot().  no longer needed since the demise of share maps.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Thu Mar 30 02:49:55 2000 UTC (24 years, 8 months ago) by simonb
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +1 -2 lines
Delete redundant decl of aobj_pager - it's in <uvm/uvm_aobj.h>.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Sun Mar 26 20:54:47 2000 UTC (24 years, 8 months ago) by kleink
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +5 -5 lines
Merge parts of chs-ubc2 into the trunk:
Add a new type voff_t (defined as a synonym for off_t) to describe offsets
into uvm objects, and update the appropriate interfaces to use it, the
most visible effect being the ability to mmap() file offsets beyond
the range of a vaddr_t.

Originally by Chuck Silvers; blame me for problems caused by merging this
into non-UBC.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Tue Jan 11 06:57:50 2000 UTC (24 years, 11 months ago) by chs
Branches: MAIN
CVS tags: chs-ubc2-newbase
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +63 -60 lines
add support for ``swapctl -d'' (removing swap space).
improve handling of i/o errors in swap space.

reviewed by:  Chuck Cranor

Revision 1.23.8.1: download - view: text, markup, annotated - select for diffs
Mon Dec 27 18:36:44 1999 UTC (24 years, 11 months ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +2 -3 lines
Pull up to last week's -current.

Revision 1.23.4.1: download - view: text, markup, annotated - select for diffs
Mon Nov 15 00:42:30 1999 UTC (25 years, 1 month ago) by fvdl
Branches: fvdl-softdep
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +2 -3 lines
Sync with -current

Revision 1.24: download - view: text, markup, annotated - select for diffs
Sat Nov 13 00:24:38 1999 UTC (25 years, 1 month ago) by thorpej
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, fvdl-softdep-base
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -3 lines
Change the pmap_enter() API slightly; pmap_enter() now returns an error
value (KERN_SUCCESS or KERN_RESOURCE_SHORTAGE) indicating if it succeeded
or failed.  Change the `wired' and `access_type' arguments to a single
`flags' argument, which includes the access type, and flags:

	PMAP_WIRED	the old `wired' boolean
	PMAP_CANFAIL	pmap_enter() is allowed to fail

If PMAP_CANFAIL is not specified, the pmap should behave as it always
has in the face of a drastic resource shortage: fall over dead.

Change the fault handler to deal with failure (which indicates resource
shortage) by unlocking everything, waiting for the pagedaemon to free
more memory, then retrying the fault.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun Sep 12 01:17:41 1999 UTC (25 years, 3 months ago) by chs
Branches: MAIN
CVS tags: comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +9 -10 lines
eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.

Revision 1.16.4.7: download - view: text, markup, annotated - select for diffs
Mon Aug 9 00:05:56 1999 UTC (25 years, 4 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.16.4.6: preferred, colored; branchpoint 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16.4.6: +8 -7 lines
create a new type "voff_t" for uvm_object offsets
and define it to be "off_t".  also, remove pgo_asyncget().

Revision 1.16.4.6: download - view: text, markup, annotated - select for diffs
Mon Aug 2 23:37:04 1999 UTC (25 years, 4 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.16.4.5: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.4.5: +1 -3 lines
Fix a merge error.

Revision 1.16.4.5: download - view: text, markup, annotated - select for diffs
Sat Jul 31 19:01:33 1999 UTC (25 years, 4 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.16.4.4: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.4.4: +82 -14 lines
in uvm_pagermapout(), be sure to pmap_remove() the range we're unmapping.
rewrite uvm_aio_aiodone() to be mostly the same as uvm_pager_dropcluster()
but using the pages' PG_FAKE and the buf's B_READ to decide whether the
each page should have the mod/ref bits cleared.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Jul 22 22:58:39 1999 UTC (25 years, 4 months ago) by thorpej
Branches: MAIN
CVS tags: chs-ubc2-base
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -2 lines
Garbage collect thread_sleep()/thread_wakeup() left over from the old
Mach VM code.  Also nuke iprintf(), which was no longer used anywhere.

Add proclist locking where appropriate.

Revision 1.16.4.4: download - view: text, markup, annotated - select for diffs
Sun Jul 11 05:48:34 1999 UTC (25 years, 5 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.16.4.3: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.4.3: +50 -4 lines
add uvm_errno2vmerror().
in uvm_aio_biodone1() use b_resid rather than b_bcount to track
how much of the nested i/o is left to be done.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Jul 8 01:02:44 1999 UTC (25 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +9 -10 lines
Teeny bit of style policing.

Revision 1.16.4.3: download - view: text, markup, annotated - select for diffs
Sun Jul 4 02:02:32 1999 UTC (25 years, 5 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.16.4.2: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.4.2: +43 -41 lines
remove uvm_aiobuf_pool.  remove aiop arg to uvm_pagermapin().
re-enable pageout clustering.
revamp the uvm_aio_*iodone() functions to use bufs instead of aiobufs.

Revision 1.16.4.2: download - view: text, markup, annotated - select for diffs
Mon Jun 21 01:47:22 1999 UTC (25 years, 5 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.16.4.1: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.4.1: +12 -19 lines
Sync w/ -current.

Revision 1.16.4.1: download - view: text, markup, annotated - select for diffs
Mon Jun 7 04:25:37 1999 UTC (25 years, 6 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +98 -33 lines
merge everything from chs-ubc branch.

Revision 1.13.2.5: download - view: text, markup, annotated - select for diffs
Sun May 30 15:34:01 1999 UTC (25 years, 6 months ago) by chs
Branches: chs-ubc
Diff to: previous 1.13.2.4: preferred, colored; branchpoint 1.13: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13.2.4: +19 -12 lines
in uvm_mk_pcluster(), remove the vm_page-blkno-based clustering
(and just disable clustering totally for the moment).

in uvm_pager_put(), remove hack from before where all swap pageouts
were made synchronous, it's not needed anymore.

in uvm_pager_dropcluster(), also clear the PG_FAKE vm_page flag.
a page being dropcluster'd must always either contain valid data
or else be marked PG_RELEASE.

in uvm_aio_aiodone(), mark pages PG_RELEASE when we get a read error.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed May 26 19:16:36 1999 UTC (25 years, 6 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +2 -2 lines
Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Wed May 26 06:42:57 1999 UTC (25 years, 6 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +11 -2 lines
In uvm_pagermapin(), pass VM_PROT_READ|VM_PROT_WRITE as access_type, to
ensure we don't take mod/ref emulation faults in an interrupt context
(e.g. during the i/o operation).  This is safe because:
	- For a pageout operation, the page is already known to be
	  modified, and the pagedaemon will pmap_clear_modify() after
	  the pageout has completed.
	- For a pagein operation, pagers must already pmap_clear_modify()
	  after the pagein operation is complete, because the i/o may have
	  been done with e.g. programmed i/o.
XXX It would be nice to know the i/o direction so that we can call
XXX pmap_enter() with only the protection and access_type necessary.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Mon May 24 23:36:23 1999 UTC (25 years, 6 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +1 -3 lines
Remove a comment in uvm_pager_dropcluster() about PMAP_NEW and mod/ref
attributes for the page; it no longer applies, since we don't use
pmap_kenter_pgs() anymore.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon May 24 23:30:44 1999 UTC (25 years, 6 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -15 lines
Don't use pmap_kenter_pgs() for entering pager_map mappings.  The pages
are still owned by the object which is paging, and so the test for a kernel
object in uvm_unmap_remove() will cause pmap_remove() to be used instead
of pmap_kremove().

This was a MAJOR source of pmap_remove() vs pmap_kremove() inconsistency
(which caused the busted kernel pmap statistics, and a cause of much
locking hair on MP systems).

Revision 1.13.2.4: download - view: text, markup, annotated - select for diffs
Thu Apr 29 13:46:59 1999 UTC (25 years, 7 months ago) by chs
Branches: chs-ubc
Diff to: previous 1.13.2.3: preferred, colored; branchpoint 1.13: preferred, colored
Changes since revision 1.13.2.3: +2 -20 lines
remove some useless code.

Revision 1.13.2.3: download - view: text, markup, annotated - select for diffs
Fri Apr 9 04:39:39 1999 UTC (25 years, 8 months ago) by chs
Branches: chs-ubc
Diff to: previous 1.13.2.2: preferred, colored; branchpoint 1.13: preferred, colored
Changes since revision 1.13.2.2: +4 -13 lines
move uvmexp.paging handling back into pagedaemon code.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Fri Mar 26 21:58:39 1999 UTC (25 years, 8 months ago) by mycroft
Branches: MAIN
CVS tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -2 lines
Add a new `access type' argument to pmap_enter().  This indicates what type of
memory access a mapping was caused by.  This is passed through from uvm_fault()
and udv_fault(), and in most other cases is 0.
The pmap module may use this to preset R/M information.  On MMUs which require
R/M emulation, the implementation may preset the bits and avoid taking another
fault.  On MMUs which keep R/M information in hardware, the implementation may
preset its cached bits to speed up the next call to pmap_is_modified() or
pmap_is_referenced().

Revision 1.15: download - view: text, markup, annotated - select for diffs
Thu Mar 25 18:48:55 1999 UTC (25 years, 8 months ago) by mrg
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +1 -5 lines
remove now >1 year old pre-release message.

Revision 1.13.2.2: download - view: text, markup, annotated - select for diffs
Thu Feb 25 04:23:54 1999 UTC (25 years, 9 months ago) by chs
Branches: chs-ubc
Diff to: previous 1.13.2.1: preferred, colored; branchpoint 1.13: preferred, colored
Changes since revision 1.13.2.1: +113 -30 lines
use a pool for vnode aio buffers, like the uvm_swap code does.
fix a precendence error in uvm_mk_pcluster() which prevented it
from doing anything useful (already in -current).
have uvm_mk_pcluster() check physical adjacency as well as logical.
bump uvmexp.paging in uvm_pager_put() instead of wherever it used to be.
(actually this last one is bogus, but I'll fix it shortly.)
in uvm_pager_dropcluster(), skip NULL entries in the array of pages
(needed since this function is now used by several more callers who
do not always have a full array).
add iodone handlers for vnode aio.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Fri Jan 22 08:00:35 1999 UTC (25 years, 10 months ago) by chs
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -2 lines
fix a precedence problem in uvm_mk_pcluster() which prevented
clustering of vnode pageouts.  this probably makes no difference
since most apps don't write via the pagecache anyway... yet.

Revision 1.13.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 9 06:06:39 1998 UTC (26 years, 1 month ago) by chs
Branches: chs-ubc
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +12 -4 lines
initial snapshot.  lots left to do.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Wed Nov 4 07:07:22 1998 UTC (26 years, 1 month ago) by chs
Branches: MAIN
CVS tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base
Branch point for: chs-ubc
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +3 -2 lines
be consistent with locking of amaps and anons when freeing them.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sun Oct 18 23:50:00 1998 UTC (26 years, 1 month ago) by chs
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +9 -9 lines
shift by PAGE_SHIFT instead of multiplying or dividing by PAGE_SIZE.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Oct 11 23:18:20 1998 UTC (26 years, 2 months ago) by chuck
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -3 lines
remove unused share map code from UVM:
 - update calls to uvm_unmap_remove/uvm_unmap (mainonly boolean arg
	has been removed)
 - replace UVM_ET_ISMAP checks with UVM_ET_ISSUBMAP checks

Revision 1.10: download - view: text, markup, annotated - select for diffs
Mon Aug 31 00:03:02 1998 UTC (26 years, 3 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +3 -1 lines
Make sure the aobj_pager gets initialized!

Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Aug 13 02:11:02 1998 UTC (26 years, 4 months ago) by eeh
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +11 -11 lines
Merge paddr_t changes into the main branch.

Revision 1.8.2.1: download - view: text, markup, annotated - select for diffs
Thu Jul 30 14:04:14 1998 UTC (26 years, 4 months ago) by eeh
Branches: eeh-paddr_t
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +11 -11 lines
Split vm_offset_t and vm_size_t into paddr_t, psize_t, vaddr_t, and vsize_t.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Tue May 5 20:51:07 1998 UTC (26 years, 7 months ago) by kleink
Branches: MAIN
CVS tags: eeh-paddr_t-base
Branch point for: eeh-paddr_t
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +1 -4 lines
Remove inclusions of syscall (and syscall argument) related header files;
we don't need them here.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun Mar 22 16:10:29 1998 UTC (26 years, 8 months ago) by chuck
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +15 -4 lines
fix released pg bugs detected by Chuck S.:
 - release the correct page (ppsp[lcv], not pg)
 - don't access the page's fields after we have released it
 - in the uvm_objct case: move on to the next page if we've released
[should have been merged in on 1998/02/12, but we somehow missed it]

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Mar 9 00:58:58 1998 UTC (26 years, 9 months ago) by mrg
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +496 -475 lines
KNF.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Tue Feb 10 14:12:25 1998 UTC (26 years, 10 months ago) by mrg
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +4 -3 lines
- add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Sun Feb 8 06:15:59 1998 UTC (26 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -2 lines
Allow callers of uvm_km_suballoc() to specify where the base of the
submap _must_ begin, by adding a "fixed" boolean argument.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sat Feb 7 11:09:27 1998 UTC (26 years, 10 months ago) by mrg
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -0 lines
restore rcsids

Revision 1.2: download - view: text, markup, annotated - select for diffs
Fri Feb 6 22:32:18 1998 UTC (26 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -1 lines
RCS ID police.

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Thu Feb 5 06:25:09 1998 UTC (26 years, 10 months ago) by mrg
Branches: CDC
CVS tags: uvm980205
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
initial import of the new virtual memory system, UVM, into -current.

UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the UVM kernel code portion.


this will be KNF'd shortly.  :-)

Revision 1.1: download - view: text, markup, annotated - select for diffs
Thu Feb 5 06:25:09 1998 UTC (26 years, 10 months ago) by mrg
Branches: MAIN
Initial revision

Diff request

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

Log view options

CVSweb <webmaster@jp.NetBSD.org>