The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.107.2.1 / (download) - annotate - [select for diffs], Sun Jan 3 16:35:05 2021 UTC (3 years, 3 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.107: +1 -1 lines
Diff to previous 1.107 (colored) next main 1.108 (colored) to selected 1.59.2.19 (colored)

Sync w/ HEAD.

Revision 1.109 / (download) - annotate - [select for diffs], Sun Dec 20 16:38:26 2020 UTC (3 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-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, HEAD
Changes since 1.108: +2 -1 lines
Diff to previous 1.108 (colored) to selected 1.59.2.19 (colored)

Support __HAVE_PMAP_PV_TRACK in sys/uvm/pmap based pmaps (aka common pmap)

Revision 1.108 / (download) - annotate - [select for diffs], Sun Dec 20 15:50:44 2020 UTC (3 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.107: +1 -2 lines
Diff to previous 1.107 (colored) to selected 1.59.2.19 (colored)

Remove VM_MD_TO_PAGE that was accidentally committed in 1.106.  It's going
to be readded with the code that uses it

Revision 1.107 / (download) - annotate - [select for diffs], Wed Oct 7 17:51:50 2020 UTC (3 years, 6 months ago) by chs
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.106: +4 -2 lines
Diff to previous 1.106 (colored) to selected 1.59.2.19 (colored)

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

Revision 1.106 / (download) - annotate - [select for diffs], Sun Sep 20 10:30:05 2020 UTC (3 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.105: +2 -5 lines
Diff to previous 1.105 (colored) to selected 1.59.2.19 (colored)

G/C uvm_pagezerocheck

Revision 1.105 / (download) - annotate - [select for diffs], Sun Jun 14 21:41:42 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.104: +1 -14 lines
Diff to previous 1.104 (colored) to selected 1.59.2.19 (colored)

Remove PG_ZERO.  It worked brilliantly on x86 machines from the mid-90s but
having spent an age experimenting with it over the last 6 months on various
machines and with different use cases it's always either break-even or a
slight net loss for me.

Revision 1.104 / (download) - annotate - [select for diffs], Sun May 24 19:46:59 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.103: +2 -1 lines
Diff to previous 1.103 (colored) to selected 1.59.2.19 (colored)

Add uvm_pagewanted_p(): return true if someone is waiting on the page and
assert caller has correct lock to observe that.

Revision 1.103 / (download) - annotate - [select for diffs], Sun May 17 19:38:17 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.102: +9 -7 lines
Diff to previous 1.102 (colored) to selected 1.59.2.19 (colored)

Start trying to reduce cache misses on vm_page during fault processing.

- Make PGO_LOCKED getpages imply PGO_NOBUSY and remove the latter.  Mark
  pages busy only when there's actually I/O to do.

- When doing COW on a uvm_object, don't mess with neighbouring pages.  In
  all likelyhood they're already entered.

- Don't mess with neighbouring VAs that have existing mappings as replacing
  those mappings with same can be quite costly.

- Don't enqueue pages for neighbour faults unless not enqueued already, and
  don't activate centre pages unless uvmpdpol says its useful.

Also:

- Make PGO_LOCKED getpages on UAOs work more like vnodes: do gang lookup in
  the radix tree, and don't allocate new pages.

- Fix many assertion failures around faults/loans with tmpfs.

Revision 1.84.4.1 / (download) - annotate - [select for diffs], Wed May 13 18:05:14 2020 UTC (3 years, 11 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Changes since 1.84: +5 -1 lines
Diff to previous 1.84 (colored) next main 1.85 (colored) to selected 1.59.2.19 (colored)

Pull up following revision(s) (requested by chs in ticket #906):

	sys/uvm/uvm_page.h: revision 1.99

Include "opt_uvm_page_trkown.h" for UVM_PAGE_TRKOWN.

Revision 1.83.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:04 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.83.2.1: +207 -92 lines
Diff to previous 1.83.2.1 (colored) to branchpoint 1.83 (colored) next main 1.84 (colored) to selected 1.59.2.19 (colored)

Merge changes from current as of 20200406

Revision 1.102 / (download) - annotate - [select for diffs], Tue Mar 17 18:31:39 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored) to selected 1.59.2.19 (colored)

Tweak the March 14th change to make page waits interlocked by pg->interlock.
Remove unneeded changes and only deal with the PQ_WANTED flag, to exclude
possible bugs.

Revision 1.101 / (download) - annotate - [select for diffs], Mon Mar 16 08:03:58 2020 UTC (4 years, 1 month ago) by rin
Branch: MAIN
Changes since 1.100: +3 -1 lines
Diff to previous 1.100 (colored) to selected 1.59.2.19 (colored)

Include <sys/rwlock.h> for krwlock_t required by uvm_pagewait().

Revision 1.100 / (download) - annotate - [select for diffs], Sat Mar 14 20:23:51 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.99: +24 -12 lines
Diff to previous 1.99 (colored) to selected 1.59.2.19 (colored)

Make page waits (WANTED vs BUSY) interlocked by pg->interlock.  Gets RW
locks out of the equation for sleep/wakeup, and allows observing+waiting
for busy pages when holding only a read lock.  Proposed on tech-kern.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Mar 6 02:46:17 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.98: +5 -1 lines
Diff to previous 1.98 (colored) to selected 1.59.2.19 (colored)

Include "opt_uvm_page_trkown.h" for UVM_PAGE_TRKOWN.

Revision 1.93.2.3 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:11 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.93.2.2: +2 -2 lines
Diff to previous 1.93.2.2 (colored) to branchpoint 1.93 (colored) next main 1.94 (colored) to selected 1.59.2.19 (colored)

Sync with head.

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

UVM locking changes, proposed on tech-kern:

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

Revision 1.93.2.2 / (download) - annotate - [select for diffs], Sat Jan 25 22:38:53 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.93.2.1: +10 -8 lines
Diff to previous 1.93.2.1 (colored) to branchpoint 1.93 (colored) to selected 1.59.2.19 (colored)

Sync with head.

Revision 1.97 / (download) - annotate - [select for diffs], Tue Jan 21 20:37:06 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2
Changes since 1.96: +10 -8 lines
Diff to previous 1.96 (colored) to selected 1.59.2.19 (colored)

uvmpdpol_pageactive(): the change to not re-activate recently activated
pages worked great with uvm_pageqlock, but it doesn't buy anything any more,
because now the busy pages are likely in a per-CPU queue somewhere waiting
to be processed, and changing the intent on those queued pages costs next
to nothing.  Remove this and get back all the bits in pg->pqflags.

Revision 1.93.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:38 2020 UTC (4 years, 3 months ago) by ad
Branch: ad-namecache
Changes since 1.93: +78 -43 lines
Diff to previous 1.93 (colored) to selected 1.59.2.19 (colored)

Sync with head.

Revision 1.96 / (download) - annotate - [select for diffs], Wed Jan 15 17:55:45 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base1
Changes since 1.95: +68 -37 lines
Diff to previous 1.95 (colored) to selected 1.59.2.19 (colored)

Merge from yamt-pagecache (after much testing):

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

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

Revision 1.95 / (download) - annotate - [select for diffs], Fri Jan 10 21:32:17 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.94: +1 -3 lines
Diff to previous 1.94 (colored) to selected 1.59.2.19 (colored)

UVM_PAGE_TREE_PENALTY isn't used any more.

Revision 1.94 / (download) - annotate - [select for diffs], Thu Jan 9 10:43:45 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.93: +11 -5 lines
Diff to previous 1.93 (colored) to selected 1.59.2.19 (colored)

Use __SHIFTIN()/__SHIFTOUT().  Suggested by riastradh@.

Revision 1.93 / (download) - annotate - [select for diffs], Tue Dec 31 22:42:51 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.92: +23 -1 lines
Diff to previous 1.92 (colored) to selected 1.59.2.19 (colored)

- 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.92 / (download) - annotate - [select for diffs], Tue Dec 31 17:56:16 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.91: +14 -7 lines
Diff to previous 1.91 (colored) to selected 1.59.2.19 (colored)

struct vm_page: cluster fields most heavily used by the page allocator and
uvmpdpol at the start of the structure, so that while under global lock we
need only touch one cache line for each vm_page.  There is still the problem
of vm_page not being aligned, but this seems to drop lock wait time for
(a modified) uvmpdpol and the allocator by 20-30% in a quick test.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Dec 31 12:40:27 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.90: +3 -3 lines
Diff to previous 1.90 (colored) to selected 1.59.2.19 (colored)

Rename uvm_page_locked_p() -> uvm_page_owner_locked_p()

Revision 1.90 / (download) - annotate - [select for diffs], Fri Dec 27 13:13:17 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.89: +3 -2 lines
Diff to previous 1.89 (colored) to selected 1.59.2.19 (colored)

vm_page: Now that listq is gone, give the pagedaemon its own private
TAILQ_ENTRY, so that update of page replacement state can be made
asynchronous/lazy.  No functional change.

Revision 1.89 / (download) - annotate - [select for diffs], Fri Dec 27 12:51:57 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.88: +9 -10 lines
Diff to previous 1.88 (colored) to selected 1.59.2.19 (colored)

Redo the page allocator to perform better, especially on multi-core and
multi-socket systems.  Proposed on tech-kern.  While here:

- add rudimentary NUMA support - needs more work.
- remove now unused "listq" from vm_page.

Revision 1.88 / (download) - annotate - [select for diffs], Sat Dec 21 14:41:44 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.87: +48 -5 lines
Diff to previous 1.87 (colored) to selected 1.59.2.19 (colored)

- 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.87 / (download) - annotate - [select for diffs], Sun Dec 15 21:11:35 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.86: +1 -3 lines
Diff to previous 1.86 (colored) to selected 1.59.2.19 (colored)

Merge from yamt-pagecache:

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

Revision 1.86 / (download) - annotate - [select for diffs], Sat Dec 14 17:31:53 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.85: +1 -5 lines
Diff to previous 1.85 (colored) to selected 1.59.2.19 (colored)

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

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

Ok yamt@.

Revision 1.85 / (download) - annotate - [select for diffs], Fri Dec 13 20:10:22 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.84: +37 -43 lines
Diff to previous 1.84 (colored) to selected 1.59.2.19 (colored)

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

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

Revision 1.83.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:58 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.83: +2 -1 lines
Diff to previous 1.83 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.82.2.2 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:59 2019 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.82.2.1: +2 -1 lines
Diff to previous 1.82.2.1 (colored) to branchpoint 1.82 (colored) next main 1.83 (colored) to selected 1.59.2.19 (colored)

Synch with HEAD

Revision 1.84 / (download) - annotate - [select for diffs], Mon Jan 7 22:48:01 2019 UTC (5 years, 3 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.83: +2 -1 lines
Diff to previous 1.83 (colored) to selected 1.59.2.19 (colored)

add sysctl to easily set ubc_direct

PR kern/53124

Revision 1.82.2.1 / (download) - annotate - [select for diffs], Mon May 21 04:36:17 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.82: +6 -1 lines
Diff to previous 1.82 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.83 / (download) - annotate - [select for diffs], Sat May 19 15:03:26 2018 UTC (5 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521
Branch point for: phil-wifi
Changes since 1.82: +6 -1 lines
Diff to previous 1.82 (colored) to selected 1.59.2.19 (colored)

add experimental new function uvm_direct_process(), to allow of read/writes
of contents of uvm pages without mapping them into kernel, using
direct map or moral equivalent; pmaps supporting the interface need
to provide pmap_direct_process() and define PMAP_DIRECT

implement the new interface for amd64; I hear alpha and mips might be relatively
easy to add too, but I lack the knowledge

part of resolution for PR kern/53124

Revision 1.75.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:22 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.75.2.1: +52 -51 lines
Diff to previous 1.75.2.1 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored) to selected 1.59.2.19 (colored)

update from HEAD

Revision 1.82 / (download) - annotate - [select for diffs], Tue Nov 14 06:43:23 2017 UTC (6 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.81: +1 -5 lines
Diff to previous 1.81 (colored) to selected 1.59.2.19 (colored)

remove duplicate prototype.

Revision 1.76.6.2 / (download) - annotate - [select for diffs], Sun Feb 5 13:41:01 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.76.6.1: +5 -35 lines
Diff to previous 1.76.6.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:53 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.80: +5 -35 lines
Diff to previous 1.80 (colored) next main 1.81 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.81 / (download) - annotate - [select for diffs], Fri Dec 23 07:15:28 2016 UTC (7 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.80: +5 -35 lines
Diff to previous 1.80 (colored) to selected 1.59.2.19 (colored)

"Make NetBSD great again!"

Introduce uvm_hotplug(9) to the kernel.

Many thanks, in no particular order to:

TNF, for funding the project.

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

KeK (http://www.kek.org.in) for hosting the primary developers.

Revision 1.76.6.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:33 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.76: +53 -18 lines
Diff to previous 1.76 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.80 / (download) - annotate - [select for diffs], Mon Mar 23 07:59:12 2015 UTC (9 years ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored) to selected 1.59.2.19 (colored)

Call these `identities', not `life states'.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Mar 21 13:58:31 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.78: +1 -2 lines
Diff to previous 1.78 (colored) to selected 1.59.2.19 (colored)

No, PQ_ANON is set only if owned by anon, not if loaned to anon.

Revision 1.78 / (download) - annotate - [select for diffs], Sat Mar 21 13:28:32 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.77: +3 -2 lines
Diff to previous 1.77 (colored) to selected 1.59.2.19 (colored)

Address O->A loan case in comments, pointed out by chs@.

Revision 1.77 / (download) - annotate - [select for diffs], Sat Mar 21 13:11:14 2015 UTC (9 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.76: +53 -18 lines
Diff to previous 1.76 (colored) to selected 1.59.2.19 (colored)

Elaborate on locking scheme and vm_page states.

Revision 1.75.2.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:45 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.75: +5 -1 lines
Diff to previous 1.75 (colored) to selected 1.59.2.19 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.73.2.12 / (download) - annotate - [select for diffs], Thu May 22 11:41:19 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.11: +5 -1 lines
Diff to previous 1.73.2.11 (colored) to branchpoint 1.73 (colored) next main 1.74 (colored) to selected 1.59.2.19 (colored)

sync with head.

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

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

Revision 1.75.4.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:22 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.75: +5 -1 lines
Diff to previous 1.75 (colored) next main 1.76 (colored) to selected 1.59.2.19 (colored)

sync with head

Revision 1.76 / (download) - annotate - [select for diffs], Fri Oct 25 14:30:21 2013 UTC (10 years, 5 months ago) by martin
Branch: 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, nick-nhusb-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
Branch point for: nick-nhusb
Changes since 1.75: +5 -1 lines
Diff to previous 1.75 (colored) to selected 1.59.2.19 (colored)

Optimize out VM_PHYSMEM_PTR_SWAP on architectures that have VM_PHYSSEG_MAX = 1
(hard to address two different array entries there w/o invoking undefined
behaviour, and newer compilers complain about it).

Revision 1.73.6.2 / (download) - annotate - [select for diffs], Sat Jun 2 11:09:42 2012 UTC (11 years, 10 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.73.6.1: +69 -25 lines
Diff to previous 1.73.6.1 (colored) to branchpoint 1.73 (colored) next main 1.74 (colored) to selected 1.59.2.19 (colored)

sync to latest -current.

Revision 1.73.2.11 / (download) - annotate - [select for diffs], Wed May 23 10:08:20 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.73.2.10: +57 -14 lines
Diff to previous 1.73.2.10 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.75 / (download) - annotate - [select for diffs], Sat May 5 20:45:35 2012 UTC (11 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.74: +69 -25 lines
Diff to previous 1.74 (colored) to selected 1.59.2.19 (colored)

Describe PG_ flags (for struct vm_page).  Reviewed by yamt@.

Revision 1.73.2.10 / (download) - annotate - [select for diffs], Tue Apr 17 00:09:00 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.9: +41 -46 lines
Diff to previous 1.73.2.9 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

sync with head

Revision 1.55.14.9 / (download) - annotate - [select for diffs], Wed Feb 29 18:03:39 2012 UTC (12 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.8: +3 -2 lines
Diff to previous 1.55.14.8 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored) to selected 1.59.2.19 (colored)

Improve UVM_PAGE_TRKOWN.
Add more asserts to uvm_page.

Revision 1.73.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:36:01 2012 UTC (12 years, 2 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.73: +50 -57 lines
Diff to previous 1.73 (colored) to selected 1.59.2.19 (colored)

merge to -current.

Revision 1.73.2.9 / (download) - annotate - [select for diffs], Fri Feb 17 08:18:57 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.8: +3 -5 lines
Diff to previous 1.73.2.8 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

byebye PG_HOLE as it turned out to be unnecessary.

Revision 1.55.14.8 / (download) - annotate - [select for diffs], Thu Feb 16 04:20:45 2012 UTC (12 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.7: +9 -1 lines
Diff to previous 1.55.14.7 (colored) to branchpoint 1.55 (colored) to selected 1.59.2.19 (colored)

Track the victims selected by the pagedaemon and what happens to then.
Keep a hint for what page group has the most free pages for a given color.

Revision 1.55.14.7 / (download) - annotate - [select for diffs], Mon Feb 13 23:07:31 2012 UTC (12 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.6: +3 -2 lines
Diff to previous 1.55.14.6 (colored) to branchpoint 1.55 (colored) to selected 1.59.2.19 (colored)

Use separate pending and paging tailq entries.
Add a queue check routine to validate the queues aren't corrupt.

Revision 1.55.14.6 / (download) - annotate - [select for diffs], Thu Feb 9 03:05:00 2012 UTC (12 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.5: +54 -2 lines
Diff to previous 1.55.14.5 (colored) to branchpoint 1.55 (colored) to selected 1.59.2.19 (colored)

Major changes to uvm.
Support multiple collections (groups) of free pages and run the page
reclaimation algorithm on each group independently.

Revision 1.74 / (download) - annotate - [select for diffs], Sat Jan 28 19:12:10 2012 UTC (12 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base4, 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, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Changes since 1.73: +50 -57 lines
Diff to previous 1.73 (colored) to selected 1.59.2.19 (colored)

Improve description on struct vm_page and explain locking a little bit more.

Revision 1.73.2.8 / (download) - annotate - [select for diffs], Wed Nov 30 14:33:47 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.7: +3 -1 lines
Diff to previous 1.73.2.7 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

make lfs another pager specific flag so that it won't be affected by
an nfs hack in genfs.

Revision 1.73.2.7 / (download) - annotate - [select for diffs], Sun Nov 20 10:52:34 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.6: +4 -0 lines
Diff to previous 1.73.2.6 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

- fix page loaning  XXX make O->A loaning further
- add some statistics

Revision 1.73.2.6 / (download) - annotate - [select for diffs], Fri Nov 18 00:57:34 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.5: +1 -0 lines
Diff to previous 1.73.2.5 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

- use mutex obj for pageable object
- add a function to wait for a mutex obj being available
- replace some "livelock" kpauses with it

Revision 1.73.2.5 / (download) - annotate - [select for diffs], Mon Nov 14 14:21:41 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.4: +0 -2 lines
Diff to previous 1.73.2.4 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

remove now unused UVM_PAGE_TREE_PENALTY

Revision 1.73.2.4 / (download) - annotate - [select for diffs], Sun Nov 13 01:18:02 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.3: +3 -1 lines
Diff to previous 1.73.2.3 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

cache UVM_OBJ_IS_VNODE in pqflags

Revision 1.73.2.3 / (download) - annotate - [select for diffs], Fri Nov 11 10:34:24 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.2: +18 -11 lines
Diff to previous 1.73.2.2 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

- track the number of clean/dirty/unknown pages in the system.
- g/c PG_MARKER

Revision 1.73.2.2 / (download) - annotate - [select for diffs], Sun Nov 6 22:05:00 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73.2.1: +8 -9 lines
Diff to previous 1.73.2.1 (colored) to branchpoint 1.73 (colored) to selected 1.59.2.19 (colored)

remove pg->listq and uobj->memq

Revision 1.73.2.1 / (download) - annotate - [select for diffs], Wed Nov 2 21:54:01 2011 UTC (12 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73: +29 -10 lines
Diff to previous 1.73 (colored) to selected 1.59.2.19 (colored)

page cache related changes

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

Revision 1.55.18.1 / (download) - annotate - [select for diffs], Fri Oct 14 16:58:38 2011 UTC (12 years, 6 months ago) by matt
Branch: matt-nb5-pq3
Changes since 1.55: +8 -1 lines
Diff to previous 1.55 (colored) next main 1.56 (colored) to selected 1.59.2.19 (colored)

Add VM_PHYSMEM_PTR and VM_PAGE_TO_MD macros from -current.

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:36 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.72: +2 -1 lines
Diff to previous 1.72 (colored) next main 1.73 (colored) to selected 1.59.2.19 (colored)

Catchup with rmind-uvmplock merge.

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

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

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

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

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

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

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

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

Revision 1.69.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:23 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.69: +5 -10 lines
Diff to previous 1.69 (colored) next main 1.70 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.55.14.5 / (download) - annotate - [select for diffs], Fri Jun 3 07:56:08 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.4: +1 -1 lines
Diff to previous 1.55.14.4 (colored) to branchpoint 1.55 (colored) to selected 1.59.2.19 (colored)

Restore $NetBSD$

Revision 1.55.14.4 / (download) - annotate - [select for diffs], Fri Jun 3 02:43:42 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.3: +0 -1 lines
Diff to previous 1.55.14.3 (colored) to branchpoint 1.55 (colored) to selected 1.59.2.19 (colored)

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.59.4.3 / (download) - annotate - [select for diffs], Tue May 31 03:05:15 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.59.4.2: +0 -2 lines
Diff to previous 1.59.4.2 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored) to selected 1.59.2.19 (colored)

sync with head

Revision 1.55.14.3 / (download) - annotate - [select for diffs], Wed May 25 23:58:50 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.2: +2 -1 lines
Diff to previous 1.55.14.2 (colored) to branchpoint 1.55 (colored) to selected 1.59.2.19 (colored)

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.72 / (download) - annotate - [select for diffs], Thu May 19 09:57:20 2011 UTC (12 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.71: +1 -3 lines
Diff to previous 1.71 (colored) to selected 1.59.2.19 (colored)

g/c unused function prototypes

Revision 1.55.14.2 / (download) - annotate - [select for diffs], Fri Apr 29 08:16:42 2011 UTC (12 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.55.14.1: +8 -1 lines
Diff to previous 1.55.14.1 (colored) to branchpoint 1.55 (colored) to selected 1.59.2.19 (colored)

Add macros from current (VM_PAGE_TO_MD, VM_PHYSMEM_PTR, VM_PHYSMEM_PTR_SWAP)

Revision 1.59.4.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:37 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.59.4.1: +21 -136 lines
Diff to previous 1.59.4.1 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

sync with head

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

Sync with HEAD

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

udpate license clauses on my code to match the new-style BSD licenses.
based on second diff that rmind@ sent me.

no functional change with this commit.

Revision 1.70 / (download) - annotate - [select for diffs], Tue Jan 18 21:43:29 2011 UTC (13 years, 3 months ago) by matt
Branch: MAIN
Branch point for: bouyer-quota2
Changes since 1.69: +4 -2 lines
Diff to previous 1.69 (colored) to selected 1.59.2.19 (colored)

Improve the efficiency of searching for a contiguous set of free pages.

Revision 1.69 / (download) - annotate - [select for diffs], Fri Nov 26 00:45:27 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr
Changes since 1.68: +4 -0 lines
Diff to previous 1.68 (colored) to selected 1.59.2.19 (colored)

Put back VM_PAGE_TO_MD(); pointed out by skrll@, thanks.

Revision 1.68 / (download) - annotate - [select for diffs], Thu Nov 25 04:45:30 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: MAIN
Changes since 1.67: +5 -13 lines
Diff to previous 1.67 (colored) to selected 1.59.2.19 (colored)

Revert vm_physseg allocation changes.  A report says that it causes
panics when used with mplayer in heavy load.

Revision 1.59.2.37 / (download) - annotate - [select for diffs], Sun Nov 21 15:27:36 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.36: +2 -2 lines
Diff to previous 1.59.2.36 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored) to selected 1.59.2.19 (colored)

Rename PGO_ZERO as PGO_HOLE, and s/uvm_page_zeropage/uvm_page_holepage/.

Revision 1.59.2.36 / (download) - annotate - [select for diffs], Mon Nov 15 17:32:01 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.35: +3 -0 lines
Diff to previous 1.59.2.35 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Move zero-page into a common place, in the hope that it's shared
for other purposes.

According to Chuck Silvers, zero-page mappings don't need to be
explicitly unmapped in putpages().  Follow that advice.

Revision 1.67 / (download) - annotate - [select for diffs], Sun Nov 14 15:06:34 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base6
Changes since 1.66: +9 -5 lines
Diff to previous 1.66 (colored) to selected 1.59.2.19 (colored)

Be a little more friendly to dynamic physical segment registration.

Maintain an array of pointer to struct vm_physseg, instead of struct
array.  So that VM subsystem can take its pointer safely.  Pointer
to this struct will replace raw paddr_t usage in the future.

Dynamic removal is not supported yet.

Only MD data structure changes, no kernel bump needed.

Tested on i386, amd64, powerpc/ibm40x, arm11.

Revision 1.59.2.35 / (download) - annotate - [select for diffs], Fri Nov 12 08:13:40 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.34: +4 -4 lines
Diff to previous 1.59.2.34 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Move MD member in struct vm_physseg to the tail, in case this struct
can be shared among architectures with only difference of the MD
part.

Revision 1.66 / (download) - annotate - [select for diffs], Fri Nov 12 07:59:24 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.65: +4 -0 lines
Diff to previous 1.65 (colored) to selected 1.59.2.19 (colored)

Put VM_PAGE_TO_MD() definition in one place.  No functional changes.

Revision 1.65 / (download) - annotate - [select for diffs], Fri Nov 12 05:23:41 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.64: +4 -19 lines
Diff to previous 1.64 (colored) to selected 1.59.2.19 (colored)

Abstraction fix; move physical address -> per-page metadata (struct
vm_page *) "reverse" lookup code from uvm_page.h to uvm_page.c, to
help migration to not do that.

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

Revision 1.64 / (download) - annotate - [select for diffs], Fri Nov 12 03:21:04 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.63: +1 -107 lines
Diff to previous 1.63 (colored) to selected 1.59.2.19 (colored)

Abstraction fix; move physical address -> physical segment "reverse"
lookup code from uvm_page.h to uvm_page.c.

This code is used by some pmaps to lookup per-page state (PV) from
per-segment metadata (struct vm_physseg).  This is not needed if
UVM looks up physical segment once in fault handler, then directly
passes it to pmap.  This change helps transition to that model.

The only users of vm_physseg_find() are pmap_motorola.c and
powerpc/ibm4xx/pmap.c.

Tested By:	Compiling and running powerpc/ibm4xx/pmap.c
		(evbppc/conf/OPENBLOCKS266)

Revision 1.63 / (download) - annotate - [select for diffs], Wed Nov 10 09:27:21 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.62: +2 -1 lines
Diff to previous 1.62 (colored) to selected 1.59.2.19 (colored)

Use more VM_PHYSMEM_*() accessors.  No functional changes.

Revision 1.59.2.34 / (download) - annotate - [select for diffs], Wed Nov 10 08:59:12 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.33: +4 -0 lines
Diff to previous 1.59.2.33 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Fix thinko; make vm_physseg ptr swap really work.

Revision 1.62 / (download) - annotate - [select for diffs], Wed Nov 10 01:24:46 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.61: +4 -1 lines
Diff to previous 1.61 (colored) to selected 1.59.2.19 (colored)

Prepare vm_physmem[] -> (*vm_physmem)[] migration, so that physical
segments can be changed at run-time.  Pointers are easier to update.

Revision 1.59.2.33 / (download) - annotate - [select for diffs], Thu Nov 4 08:47:38 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.32: +2 -1 lines
Diff to previous 1.59.2.32 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Split physical device segment pages from "managed" to "managed
device".  Cache that information as a flag PG_DEVICE so that callers
don't need to walk physsegs everytime.

Remove PQ_FIXED, which means that page daemon doesn't need to know
device segment pages at all.  But still fault handlers need to know
them.

I think this is what I can do best now.

Revision 1.59.2.32 / (download) - annotate - [select for diffs], Wed Oct 27 14:51:30 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.31: +0 -4 lines
Diff to previous 1.59.2.31 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Unconditionally provide device page segment data structures and
functions as suggested by Chuck Silvers.

(Memory and device segments are being merged soon.)

Revision 1.59.2.31 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:57 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.30: +1 -1 lines
Diff to previous 1.59.2.30 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD (-D20101022).

Revision 1.52.4.5 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:47 2010 UTC (13 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.52.4.4: +2 -2 lines
Diff to previous 1.52.4.4 (colored) to branchpoint 1.52 (colored) next main 1.53 (colored) to selected 1.59.2.19 (colored)

sync with head

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

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

Revision 1.59.2.30 / (download) - annotate - [select for diffs], Tue Aug 17 06:48:16 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.29: +2 -1 lines
Diff to previous 1.59.2.29 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.59.2.29 / (download) - annotate - [select for diffs], Tue Aug 17 05:54:01 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.28: +1 -1 lines
Diff to previous 1.59.2.28 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Collect a garbage.

Revision 1.52.4.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:55:17 2010 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.52.4.3: +3 -2 lines
Diff to previous 1.52.4.3 (colored) to branchpoint 1.52 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.59.2.28 / (download) - annotate - [select for diffs], Wed Aug 11 09:50:01 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.27: +1 -1 lines
Diff to previous 1.59.2.27 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

s/vm_physseg_find_direct/vm_physseg_find_device/

Revision 1.60 / (download) - annotate - [select for diffs], Thu Jul 29 10:54:51 2010 UTC (13 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10, uebayasi-xip-base2
Changes since 1.59: +3 -2 lines
Diff to previous 1.59 (colored) to selected 1.59.2.19 (colored)

Add vm page flag PG_MARKER and use it to tag dummy marker pages
in genfs_do_putpages() and uao_put().
Use 'v_uobj.uo_npages' to check for an empty memq.
Put some assertions where these marker pages may not appear.

Ok: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.59.2.27 / (download) - annotate - [select for diffs], Thu Jul 22 07:49:45 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.26: +1 -1 lines
Diff to previous 1.59.2.26 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

s/PG_XIP/PQ_FIXED/, meaning that the fault handler sees XIP pages as
"fixed", and doesn't pass them to paging activity.

("XIP" is a vnode specific knowledge.  It was wrong that the fault
handler had to know such a special thing.)

Revision 1.59.2.26 / (download) - annotate - [select for diffs], Thu Jul 15 08:33:46 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.25: +1 -2 lines
Diff to previous 1.59.2.25 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Rename PG_DIRECT to PG_XIP.  PG_XIP is marked to XIP vnode pages.

Revision 1.59.2.25 / (download) - annotate - [select for diffs], Thu Jul 8 07:47:37 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.24: +1 -1 lines
Diff to previous 1.59.2.24 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

One more missing s/DIRECT_PAGE/XIP/.

Revision 1.59.2.24 / (download) - annotate - [select for diffs], Thu Jul 8 05:30:43 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.23: +0 -1 lines
Diff to previous 1.59.2.23 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Whitespace.

Revision 1.59.2.23 / (download) - annotate - [select for diffs], Wed Jul 7 14:29:38 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.22: +2 -12 lines
Diff to previous 1.59.2.22 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

To simplify things, revert global vm_page_md hash and allocate struct
vm_page [] for XIP physical segments.

Revision 1.59.2.22 / (download) - annotate - [select for diffs], Mon May 31 13:26:38 2010 UTC (13 years, 10 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.21: +7 -7 lines
Diff to previous 1.59.2.21 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Re-define the definition of "device page"; device pages are pages of
device memory.  Pages which don't have vm_page (== can't be used for
generic use), but whose PV are tracked, are called "direct pages" from
now.

Revision 1.59.2.21 / (download) - annotate - [select for diffs], Mon May 31 06:38:34 2010 UTC (13 years, 10 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.20: +0 -2 lines
Diff to previous 1.59.2.20 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Revert partial "phys_addr" removal code.  This change is independent of
XIP, and will be done later.

Revision 1.59.2.20 / (download) - annotate - [select for diffs], Thu Apr 29 03:15:11 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.19: +7 -0 lines
Diff to previous 1.59.2.19 (colored) to branchpoint 1.59 (colored)

"int free_list" (VM_FREELIST_*) is specific to struct vm_page (memory
page).  Handle it only in memory physseg parts.

Record device page's properties in struct vm_physseg for future uses.
For example, framebuffers that is capable of some accelarated bus access
(e.g. write-combining) should register its capability through "int
flags".

Revision 1.59.2.19 / (download) - annotate - [selected], Wed Apr 28 09:27:47 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.18: +1 -0 lines
Diff to previous 1.59.2.18 (colored) to branchpoint 1.59 (colored)

Manage struct vm_physseg as a list, which means that struct vm_physseg
objects don't move when a segment is added / removed.

Revision 1.59.2.18 / (download) - annotate - [select for diffs], Wed Apr 28 08:31:05 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.17: +3 -2 lines
Diff to previous 1.59.2.17 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Always use struct vm_physseg *vm_physmem_ptrs[] in MD code.

Revision 1.59.2.17 / (download) - annotate - [select for diffs], Tue Apr 27 08:32:47 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.16: +3 -1 lines
Diff to previous 1.59.2.16 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Maintain not only arrays of struct vm_physseg, but also arrays of pointers
to struct vm_physseg.  This is need:

- to make the array change dynamically (unload), and

- to make the struct vm_physseg * object to be passed to device drivers as
  a cookie of a managed physical segment.

Revision 1.59.2.16 / (download) - annotate - [select for diffs], Tue Apr 27 08:23:48 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.15: +1 -1 lines
Diff to previous 1.59.2.15 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Sort.

Revision 1.59.4.1 / (download) - annotate - [select for diffs], Wed Mar 17 06:03:19 2010 UTC (14 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.59: +2 -1 lines
Diff to previous 1.59 (colored) to selected 1.59.2.19 (colored)

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.52.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:47 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.52.4.2: +45 -15 lines
Diff to previous 1.52.4.2 (colored) to branchpoint 1.52 (colored) to selected 1.59.2.19 (colored)

sync with head

Revision 1.59.2.15 / (download) - annotate - [select for diffs], Tue Feb 23 15:38:30 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.14: +4 -0 lines
Diff to previous 1.59.2.14 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Put back vm_page::phys_addr for now, because removing it involves some random
parts in the tree.  I'll revisit this after merging the branch.

Revision 1.59.2.14 / (download) - annotate - [select for diffs], Tue Feb 23 08:46:17 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.13: +2 -6 lines
Diff to previous 1.59.2.13 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Make struct vm_page_md * -> struct vm_page_md * lookup a real function and
hide its internal.  Won't cause much performance loss because results are
usually cached by callers.

Revision 1.59.2.13 / (download) - annotate - [select for diffs], Tue Feb 23 07:44:25 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.12: +1 -3 lines
Diff to previous 1.59.2.12 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Introduce uvm_page_physload_device().  This registers a physical address
range of a device, similar to uvm_page_physload() for memories.  For now,
this is supposed to be called by MD code.  We have to consider the design
when we'll manage mmap'able character devices.

Expose paddr_t -> struct vm_page * conversion function for device pages,
uvm_phys_to_vm_page_device().  This will be called by XIP vnode pager.
Because it knows if a given vnode is a device page (and its physical
address base) or not.  Don't look up device segments, but directly make a
cookie.

Revision 1.59.2.12 / (download) - annotate - [select for diffs], Fri Feb 12 13:40:00 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.11: +1 -1 lines
Diff to previous 1.59.2.11 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Typo.

Revision 1.59.2.11 / (download) - annotate - [select for diffs], Fri Feb 12 04:33:05 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.10: +2 -0 lines
Diff to previous 1.59.2.10 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Enable the newly added VM_PAGE_TO_MD() only #ifdef __HAVE_VM_PAGE_MD.
Pointed out by mrg@.

Revision 1.59.2.10 / (download) - annotate - [select for diffs], Wed Feb 10 14:18:31 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.9: +7 -1 lines
Diff to previous 1.59.2.9 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Fix previous again & use VM_PAGE_TO_MD() where appropriate.

Revision 1.59.2.9 / (download) - annotate - [select for diffs], Wed Feb 10 14:11:32 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.8: +1 -1 lines
Diff to previous 1.59.2.8 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Oops fix a typo.  (My lapdog's k/b is dying.)

Revision 1.59.2.8 / (download) - annotate - [select for diffs], Wed Feb 10 14:07:23 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.7: +7 -0 lines
Diff to previous 1.59.2.7 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Introduce VM_PAGE_TO_MD(); lookup vm_page_md from a given vm_page.

Revision 1.59.2.7 / (download) - annotate - [select for diffs], Wed Feb 10 02:12:39 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.6: +3 -1 lines
Diff to previous 1.59.2.6 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Initial MD per-page data (struct vm_page_md) lookup code for XIP'able device
pages.  Compile tested only.

Always define uvm_pageisdevice_p().  Always false if kernel is !DEVICE_PAGE.

Revision 1.59.2.6 / (download) - annotate - [select for diffs], Tue Feb 9 13:06:17 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.5: +7 -2 lines
Diff to previous 1.59.2.5 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Implement device page struct vm_page * handling.

Revision 1.59.2.5 / (download) - annotate - [select for diffs], Tue Feb 9 09:07:34 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.4: +7 -0 lines
Diff to previous 1.59.2.4 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Define vm_physdev / vm_nphysdev, physical address segment data for managed
device pages.

Revision 1.59.2.4 / (download) - annotate - [select for diffs], Tue Feb 9 08:43:33 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.3: +3 -1 lines
Diff to previous 1.59.2.3 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

vm_nphysseg -> vm_nphysmem

Revision 1.59.2.3 / (download) - annotate - [select for diffs], Tue Feb 9 07:42:26 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.2: +2 -2 lines
Diff to previous 1.59.2.2 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Kill vm_page::phys_addr.

Revision 1.59.2.2 / (download) - annotate - [select for diffs], Mon Feb 8 05:53:05 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59.2.1: +3 -125 lines
Diff to previous 1.59.2.1 (colored) to branchpoint 1.59 (colored) to selected 1.59.2.19 (colored)

Make vm_physseg lookup into a real function.

Revision 1.59.2.1 / (download) - annotate - [select for diffs], Mon Feb 8 05:41:43 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.59: +1 -1 lines
Diff to previous 1.59 (colored) to selected 1.59.2.19 (colored)

Make vm_physseg::lastpg exclusive end.

Revision 1.59 / (download) - annotate - [select for diffs], Sat Feb 6 12:10:59 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.58: +8 -8 lines
Diff to previous 1.58 (colored) to selected 1.59.2.19 (colored)

__inline -> inline

Revision 1.58 / (download) - annotate - [select for diffs], Sat Feb 6 02:56:17 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.57: +43 -13 lines
Diff to previous 1.57 (colored) to selected 1.59.2.19 (colored)

Make vm_physseg lookup routines take the target vm_physseg.  This is for the
coming "managed" device segments.

Revision 1.55.14.1 / (download) - annotate - [select for diffs], Sat Jan 23 19:54:04 2010 UTC (14 years, 2 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.55: +4 -2 lines
Diff to previous 1.55 (colored) to selected 1.59.2.19 (colored)

Add a start_hint to vm_physseg so when allocating pages, we can skip
forward over pages that are probably still allocated.

Revision 1.52.4.2 / (download) - annotate - [select for diffs], Wed Aug 19 18:48:36 2009 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.52.4.1: +2 -7 lines
Diff to previous 1.52.4.1 (colored) to branchpoint 1.52 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.57 / (download) - annotate - [select for diffs], Tue Aug 18 18:06:54 2009 UTC (14 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, matt-premerge-20091211, jym-xensuspend-nbase
Changes since 1.56: +2 -7 lines
Diff to previous 1.56 (colored) to selected 1.59.2.19 (colored)

Add a real API for testing if a page is a managed page, and adjust callers
to stop relying on vm_physseg_find() for this purpose.

Revision 1.52.4.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:39 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.52: +18 -13 lines
Diff to previous 1.52 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.55.6.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:36 2009 UTC (15 years, 3 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.55: +2 -6 lines
Diff to previous 1.55 (colored) next main 1.56 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.50.6.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:43 2009 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.50.6.3: +1 -5 lines
Diff to previous 1.50.6.3 (colored) to branchpoint 1.50 (colored) next main 1.51 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Jan 16 02:33:14 2009 UTC (15 years, 3 months ago) by yamt
Branch: 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-base2, nick-hppapmap-base, mjf-devfs2-base, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend
Changes since 1.55: +2 -6 lines
Diff to previous 1.55 (colored) to selected 1.59.2.19 (colored)

- g/c stale function prototypes.
- rename UVM_PAGE_HASH_PENALTY to UVM_PAGE_TREE_PENALTY.

Revision 1.52.6.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:32:06 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.52: +17 -8 lines
Diff to previous 1.52 (colored) next main 1.53 (colored) to selected 1.59.2.19 (colored)

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

Revision 1.52.2.2 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:17 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.52.2.1: +17 -9 lines
Diff to previous 1.52.2.1 (colored) to branchpoint 1.52 (colored) next main 1.53 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.50.6.3 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:38 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.50.6.2: +16 -8 lines
Diff to previous 1.50.6.2 (colored) to branchpoint 1.50 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Also fix build.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Jun 4 15:06:04 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, matt-nb5-pq3, matt-nb5-mips64
Changes since 1.54: +7 -4 lines
Diff to previous 1.54 (colored) to selected 1.59.2.19 (colored)

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

Revision 1.54 / (download) - annotate - [select for diffs], Wed Jun 4 12:45:28 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.53: +12 -7 lines
Diff to previous 1.53 (colored) to selected 1.59.2.19 (colored)

- vm_page: put listq, pageq into a union alongside a LIST_ENTRY, so we can
  use both types of list.

- Make page coloring and idle zero state per-CPU.

- Maintain per-CPU page freelists. When freeing, put pages onto the local
  CPU's lists and the global lists. When allocating, prefer to take pages
  from the local CPU. If none are available take from the global list as
  done now. Proposed on tech-kern@.

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

sync with head

Revision 1.50.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:38 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.50.6.1: +2 -1 lines
Diff to previous 1.50.6.1 (colored) to branchpoint 1.50 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Jun 2 11:11:14 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base3
Changes since 1.52: +3 -2 lines
Diff to previous 1.52 (colored) to selected 1.59.2.19 (colored)

uvm_pageidlezero:

- Use high and low water marks to try and reduce power consumption.
- Do trylock on uvm_fpageqlock, and bail if we can't get it.
- Only run on one CPU at a time.

Revision 1.50.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:15 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.50: +5 -8 lines
Diff to previous 1.50 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.50.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:33 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.50: +5 -8 lines
Diff to previous 1.50 (colored) next main 1.51 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.49.6.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:13 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.49.6.1: +5 -8 lines
Diff to previous 1.49.6.1 (colored) to branchpoint 1.49 (colored) next main 1.50 (colored) to selected 1.59.2.19 (colored)

sync with HEAD

Revision 1.40.2.6 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:52 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.2.5: +5 -8 lines
Diff to previous 1.40.2.5 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.52 / (download) - annotate - [select for diffs], Wed Feb 27 19:38:57 2008 UTC (16 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, hpcarm-cleanup-nbase, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa
Changes since 1.51: +3 -6 lines
Diff to previous 1.51 (colored) to selected 1.59.2.19 (colored)

Convert two inlines from old-style-definitions to ansi.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Feb 27 14:23:33 2008 UTC (16 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: hpcarm-cleanup-base
Changes since 1.50: +3 -3 lines
Diff to previous 1.50 (colored) to selected 1.59.2.19 (colored)

Minor corrections to comments.

Revision 1.49.12.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:33 2008 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.49: +1 -5 lines
Diff to previous 1.49 (colored) next main 1.50 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.40.2.5 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:23 2008 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.2.4: +1 -5 lines
Diff to previous 1.40.2.4 (colored) to branchpoint 1.40 (colored) to selected 1.59.2.19 (colored)

sync with head

Revision 1.49.6.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:43 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.49: +1 -5 lines
Diff to previous 1.49 (colored) to selected 1.59.2.19 (colored)

sync with HEAD

Revision 1.49.18.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:42 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.49: +1 -5 lines
Diff to previous 1.49 (colored) next main 1.50 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.50 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:19 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.49: +1 -5 lines
Diff to previous 1.49 (colored) to selected 1.59.2.19 (colored)

Merge vmlocking2 to head.

Revision 1.49.14.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:04:03 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking2
Changes since 1.49: +1 -5 lines
Diff to previous 1.49 (colored) next main 1.50 (colored) to selected 1.59.2.19 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.40.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:47:10 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.2.3: +2 -4 lines
Diff to previous 1.40.2.3 (colored) to branchpoint 1.40 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.48.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:51:23 2007 UTC (16 years, 8 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.48: +1 -4 lines
Diff to previous 1.48 (colored) next main 1.49 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.49.22.2 / (download) - annotate - [select for diffs], Sat Jul 21 19:21:56 2007 UTC (16 years, 9 months ago) by ad
Branch: matt-mips64
Changes since 1.49.22.1: +419 -0 lines
Diff to previous 1.49.22.1 (colored) to branchpoint 1.49 (colored) next main 1.50 (colored) to selected 1.59.2.19 (colored)

Merge unobtrusive locking changes from the vmlocking branch.

Revision 1.49.22.1, Sat Jul 21 19:21:55 2007 UTC (16 years, 9 months ago) by ad
Branch: matt-mips64
Changes since 1.49: +0 -419 lines
FILE REMOVED

file uvm_page.h was added on branch matt-mips64 on 2007-07-21 19:21:56 +0000

Revision 1.49 / (download) - annotate - [select for diffs], Sat Jul 21 19:21:55 2007 UTC (16 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-csl-alignment-base5, matt-mips64-base, matt-armv6-prevmlocking, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: vmlocking2, mjf-devfs, matt-mips64, matt-armv6, bouyer-xeni386
Changes since 1.48: +1 -4 lines
Diff to previous 1.48 (colored) to selected 1.59.2.19 (colored)

Merge unobtrusive locking changes from the vmlocking branch.

Revision 1.47.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:12:56 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored) next main 1.48 (colored) to selected 1.59.2.19 (colored)

Sync with head.

Revision 1.47.4.2 / (download) - annotate - [select for diffs], Fri Jun 8 14:18:22 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.47.4.1: +2 -1 lines
Diff to previous 1.47.4.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored) to selected 1.59.2.19 (colored)

Sync with head.

Revision 1.46.6.2 / (download) - annotate - [select for diffs], Sun Apr 15 16:04:09 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.46.6.1: +2 -1 lines
Diff to previous 1.46.6.1 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.48 / (download) - annotate - [select for diffs], Sat Apr 14 07:01:33 2007 UTC (17 years ago) by perseant
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored) to selected 1.59.2.19 (colored)

Track lwp as well as proc owner with UVM_PAGE_TRKOWN

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

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

Revision 1.46.6.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:55:28 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored) to selected 1.59.2.19 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.40.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:32 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.2.2: +3 -3 lines
Diff to previous 1.40.2.2 (colored) to branchpoint 1.40 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.47 / (download) - annotate - [select for diffs], Wed Feb 21 23:00:14 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored) to selected 1.59.2.19 (colored)

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.40.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:51:05 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.2.1: +24 -7 lines
Diff to previous 1.40.2.1 (colored) to branchpoint 1.40 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.45.8.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:50 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.45: +24 -7 lines
Diff to previous 1.45 (colored) next main 1.46 (colored) to selected 1.59.2.19 (colored)

Sync with head.

Revision 1.46 / (download) - annotate - [select for diffs], Fri Sep 15 15:51:13 2006 UTC (17 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, post-newlock2-merge, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: yamt-idlelwp
Changes since 1.45: +24 -7 lines
Diff to previous 1.45 (colored) to selected 1.59.2.19 (colored)

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

Revision 1.42.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 03:00:13 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.42: +17 -27 lines
Diff to previous 1.42 (colored) next main 1.43 (colored) to selected 1.59.2.19 (colored)

sync with head

Revision 1.40.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:12:40 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40: +16 -25 lines
Diff to previous 1.40 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.44.6.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:49 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored) next main 1.45 (colored) to selected 1.59.2.19 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.42.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:29 2006 UTC (18 years ago) by simonb
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.42: +17 -27 lines
Diff to previous 1.42 (colored) next main 1.43 (colored) to selected 1.59.2.19 (colored)

Sync with head.

Revision 1.44.4.1 / (download) - annotate - [select for diffs], Wed Apr 19 03:58:21 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored) next main 1.45 (colored) to selected 1.59.2.19 (colored)

oops - *really* sync to head this time.

Revision 1.44.2.3 / (download) - annotate - [select for diffs], Tue Apr 11 11:55:59 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.44.2.2: +2 -2 lines
Diff to previous 1.44.2.2 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored) to selected 1.59.2.19 (colored)

sync with head

Revision 1.45 / (download) - annotate - [select for diffs], Thu Apr 6 07:18:23 2006 UTC (18 years ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, 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
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored) to selected 1.59.2.19 (colored)

Update comment to match reality (vm_physmemseg -> vm_physseg).

Revision 1.44.2.2 / (download) - annotate - [select for diffs], Sun Mar 12 09:38:56 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.44.2.1: +4 -3 lines
Diff to previous 1.44.2.1 (colored) to branchpoint 1.44 (colored) to selected 1.59.2.19 (colored)

- change the way to account read-ahead stats.
- fix UVM_PQFLAGBITS.

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Sun Mar 5 12:51:09 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.44: +22 -6 lines
Diff to previous 1.44 (colored) to selected 1.59.2.19 (colored)

separate page replacement policy from the rest of kernel.

Revision 1.42.2.1 / (download) - annotate - [select for diffs], Sat Feb 18 15:39:31 2006 UTC (18 years, 2 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.42: +16 -26 lines
Diff to previous 1.42 (colored) next main 1.43 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.44 / (download) - annotate - [select for diffs], Thu Feb 16 20:17:20 2006 UTC (18 years, 2 months ago) by perry
Branch: 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
Changes since 1.43: +3 -3 lines
Diff to previous 1.43 (colored) to selected 1.59.2.19 (colored)

Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.

Revision 1.43 / (download) - annotate - [select for diffs], Sat Feb 11 12:45:07 2006 UTC (18 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.42: +14 -24 lines
Diff to previous 1.42 (colored) to selected 1.59.2.19 (colored)

remove the following options.  no objections on tech-kern@.

	UVM_PAGER_INLINE
	UVM_AMAP_INLINE
	UVM_PAGE_INLINE
	UVM_MAP_INLINE

Revision 1.42 / (download) - annotate - [select for diffs], Sat Dec 24 20:45:10 2005 UTC (18 years, 3 months ago) by perry
Branch: MAIN
Branch point for: yamt-uio_vmspace, simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.41: +4 -4 lines
Diff to previous 1.41 (colored) to selected 1.59.2.19 (colored)

Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.

Revision 1.34.2.6 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:42 2005 UTC (18 years, 4 months ago) by christos
Branch: ktrace-lwp
Changes since 1.34.2.5: +2 -1 lines
Diff to previous 1.34.2.5 (colored) next main 1.35 (colored) to selected 1.59.2.19 (colored)

Sync with head.

Revision 1.40.8.1 / (download) - annotate - [select for diffs], Tue Nov 29 21:23:33 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
Changes since 1.40: +2 -1 lines
Diff to previous 1.40 (colored) next main 1.41 (colored) to selected 1.59.2.19 (colored)

sync with head.

Revision 1.41 / (download) - annotate - [select for diffs], Tue Nov 29 15:45:28 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-base3, ktrace-lwp-base
Changes since 1.40: +2 -1 lines
Diff to previous 1.40 (colored) to selected 1.59.2.19 (colored)

read-ahead statistics.

Revision 1.34.2.5 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:40 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34.2.4: +3 -3 lines
Diff to previous 1.34.2.4 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD. Here we go again...

Revision 1.40 / (download) - annotate - [select for diffs], Sat Jun 4 13:48:35 2005 UTC (18 years, 10 months ago) by chs
Branch: 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, yamt-lazymbuf
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored) to selected 1.59.2.19 (colored)

adapt to const changes.

Revision 1.34.2.4 / (download) - annotate - [select for diffs], Tue Oct 19 15:58:31 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34.2.3: +1 -21 lines
Diff to previous 1.34.2.3 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.39 / (download) - annotate - [select for diffs], Thu Oct 7 10:56:26 2004 UTC (19 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Changes since 1.38: +1 -21 lines
Diff to previous 1.38 (colored) to selected 1.59.2.19 (colored)

g/c stale declarations of page queues.

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

Fix the sync with head I botched.

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

Sync with HEAD.

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:57:08 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.34: +33 -28 lines
Diff to previous 1.34 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.38 / (download) - annotate - [select for diffs], Wed May 12 20:09:52 2004 UTC (19 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored) to selected 1.59.2.19 (colored)

add assertions.

Revision 1.37 / (download) - annotate - [select for diffs], Wed Mar 24 07:55:01 2004 UTC (20 years ago) by junyoung
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.36: +27 -27 lines
Diff to previous 1.36 (colored) to selected 1.59.2.19 (colored)

Nuke __P().

Revision 1.36 / (download) - annotate - [select for diffs], Mon Nov 10 16:13:05 2003 UTC (20 years, 5 months ago) by rearnsha
Branch: MAIN
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored) to selected 1.59.2.19 (colored)

In vm_phsyseg_find, use u_int for start, len and try when doing a
binary search.  Avoids the need for signed division by 2.  Approved
by thorpej.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Nov 3 03:58:28 2003 UTC (20 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.34: +5 -1 lines
Diff to previous 1.34 (colored) to selected 1.59.2.19 (colored)

add a DEBUG check if freed PG_ZERO pages are really zero-filled.

Revision 1.34 / (download) - annotate - [select for diffs], Sat May 10 21:10:24 2003 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.33: +1 -1 lines
Diff to previous 1.33 (colored) to selected 1.59.2.19 (colored)

Back out the following chagne:
    http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html

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

Fixes PR kern/21517.

Revision 1.33 / (download) - annotate - [select for diffs], Thu May 8 18:13:29 2003 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored) to selected 1.59.2.19 (colored)

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

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

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

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

Revision 1.19.2.4 / (download) - annotate - [select for diffs], Mon Nov 11 22:17:09 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.19.2.3: +2 -2 lines
Diff to previous 1.19.2.3 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored) to selected 1.59.2.19 (colored)

Catch up to -current

Revision 1.32 / (download) - annotate - [select for diffs], Fri Nov 8 02:05:16 2002 UTC (21 years, 5 months ago) by enami
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored) to selected 1.59.2.19 (colored)

s/than than/than/.

Revision 1.31.6.2 / (download) - annotate - [select for diffs], Tue Mar 12 00:14:26 2002 UTC (22 years, 1 month ago) by thorpej
Branch: newlock
Changes since 1.31.6.1: +3 -3 lines
Diff to previous 1.31.6.1 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored) to selected 1.59.2.19 (colored)

Make pageqlock an adaptive mutex, and rename it to pageq_mutex.

Revision 1.31.6.1 / (download) - annotate - [select for diffs], Tue Mar 12 00:03:59 2002 UTC (22 years, 1 month ago) by thorpej
Branch: newlock
Changes since 1.31: +1 -4 lines
Diff to previous 1.31 (colored) to selected 1.59.2.19 (colored)

Convert the fpageqlock to a spin mutex at IPL_VM and rename it
to fpageq_mutex.

Revision 1.27.2.2 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:43 2002 UTC (22 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.27.2.1: +12 -14 lines
Diff to previous 1.27.2.1 (colored) next main 1.28 (colored) to selected 1.59.2.19 (colored)

Sync kqueue branch with -current.

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:45 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.30: +12 -14 lines
Diff to previous 1.30 (colored) next main 1.31 (colored) to selected 1.59.2.19 (colored)

Catch up with -current.

Revision 1.19.2.3 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:16 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.19.2.2: +12 -14 lines
Diff to previous 1.19.2.2 (colored) to branchpoint 1.19 (colored) to selected 1.59.2.19 (colored)

Catch up to -current.

Revision 1.31 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:46 2001 UTC (22 years, 7 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, post-chs-ubcperf, newlock-base, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, ifpoll-base, gehenna-devsw-base, gehenna-devsw, eeh-devprop-base, eeh-devprop
Branch point for: newlock
Changes since 1.30: +12 -14 lines
Diff to previous 1.30 (colored) to selected 1.59.2.19 (colored)

a whole bunch of changes to improve performance and robustness under load:

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

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

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Fri Aug 24 00:13:42 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.19.2.1: +14 -16 lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored) to selected 1.59.2.19 (colored)

Catch up with -current.

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Fri Aug 3 04:14:12 2001 UTC (22 years, 8 months ago) by lukem
Branch: kqueue
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored) to selected 1.59.2.19 (colored)

update to -current

Revision 1.30 / (download) - annotate - [select for diffs], Wed Jul 25 23:05:04 2001 UTC (22 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp
Changes since 1.29: +1 -1 lines
Diff to previous 1.29 (colored) to selected 1.59.2.19 (colored)

Back out previous -- christos needs to update his lint(1).

Revision 1.29 / (download) - annotate - [select for diffs], Wed Jul 25 22:41:10 2001 UTC (22 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored) to selected 1.59.2.19 (colored)

fix non-portable bitmap warning.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Jul 22 13:34:12 2001 UTC (22 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored) to selected 1.59.2.19 (colored)

seperate -> separate

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jun 28 00:26:38 2001 UTC (22 years, 9 months ago) by thorpej
Branch: MAIN
Branch point for: kqueue
Changes since 1.26: +13 -15 lines
Diff to previous 1.26 (colored) to selected 1.59.2.19 (colored)

Rather than using u_shorts, use u_ints and bitfields in the vm_page.  This
provides us more flexibility with pageq-locked fields, and clarifies the
locking semantics for platforms which cannot address shorts.

From Ross Harvey.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Thu Jun 21 20:10:40 2001 UTC (22 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.19: +31 -14 lines
Diff to previous 1.19 (colored) to selected 1.59.2.19 (colored)

Catch up to -current.

Revision 1.26 / (download) - annotate - [select for diffs], Fri May 25 04:06:16 2001 UTC (22 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.25: +12 -12 lines
Diff to previous 1.25 (colored) to selected 1.59.2.19 (colored)

remove trailing whitespace.

Revision 1.25 / (download) - annotate - [select for diffs], Wed May 16 00:16:01 2001 UTC (22 years, 11 months ago) by ross
Branch: MAIN
Changes since 1.24: +6 -1 lines
Diff to previous 1.24 (colored) to selected 1.59.2.19 (colored)

Expand on the locking notes comment with a XXX warning about u_short fields.

Revision 1.24 / (download) - annotate - [select for diffs], Wed May 2 01:22:20 2001 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.23: +3 -4 lines
Diff to previous 1.23 (colored) to selected 1.59.2.19 (colored)

Support dynamic sizing of the page color bins.  We also support
dynamically re-coloring pages; as machine-dependent code discovers
the size of the system's caches, it may call uvm_page_recolor() with
the new number of colors to use.  If the new mumber of colors is
smaller (or equal to) the current number of colors, then uvm_page_recolor()
is a no-op.

The system defaults to one bucket if machine-dependent code does not
initialize uvmexp.ncolors before uvm_page_init() is called.

Note that the number of color bins should be initialized to something
reasonable as early as possible -- for many early memory allocations,
we live with the consequences of the page choice for the lifetime of
the boot.

Revision 1.23 / (download) - annotate - [select for diffs], Tue May 1 03:01:18 2001 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.22: +1 -3 lines
Diff to previous 1.22 (colored) to selected 1.59.2.19 (colored)

Garbage-collect a comment that has not been applicable since Mach.

Revision 1.22 / (download) - annotate - [select for diffs], Tue May 1 02:19:20 2001 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.21: +5 -3 lines
Diff to previous 1.21 (colored) to selected 1.59.2.19 (colored)

Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Apr 29 22:44:39 2001 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.20: +6 -1 lines
Diff to previous 1.20 (colored) to selected 1.59.2.19 (colored)

Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Apr 29 04:23:21 2001 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.19: +9 -1 lines
Diff to previous 1.19 (colored) to selected 1.59.2.19 (colored)

Implement page coloring, using a round-robin bucket selection
algorithm (Solaris calls this "Bin Hopping").

This implementation currently relies on MD code to define a
constant defining the number of buckets.  This will change
reasonably soon (MD code will be able to dynamically size
the bucket array).

Revision 1.13.2.3 / (download) - annotate - [select for diffs], Fri Jan 5 17:37:03 2001 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.2.2: +0 -59 lines
Diff to previous 1.13.2.2 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD

Revision 1.19 / (download) - annotate - [select for diffs], Thu Dec 28 08:24:55 2000 UTC (23 years, 3 months ago) by chs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Branch point for: nathanw_sa
Changes since 1.18: +1 -60 lines
Diff to previous 1.18 (colored) to selected 1.59.2.19 (colored)

remove some more leftovers from Mach.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:20:58 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13.2.1: +36 -42 lines
Diff to previous 1.13.2.1 (colored) to branchpoint 1.13 (colored) to selected 1.59.2.19 (colored)

Sync with HEAD.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Nov 27 08:40:05 2000 UTC (23 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.17: +36 -42 lines
Diff to previous 1.17 (colored) to selected 1.59.2.19 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:12:04 2000 UTC (23 years, 5 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.13: +355 -8 lines
Diff to previous 1.13 (colored) to selected 1.59.2.19 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.17 / (download) - annotate - [select for diffs], Tue Oct 3 20:50:49 2000 UTC (23 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.16: +2 -3 lines
Diff to previous 1.16 (colored) to selected 1.59.2.19 (colored)

clean up a comment.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jun 27 09:00:14 2000 UTC (23 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.15: +347 -7 lines
Diff to previous 1.15 (colored) to selected 1.59.2.19 (colored)

more vm header file changes:

	<vm/vm_extern.h> merged into <uvm/uvm_extern.h>
	<vm/vm_page.h> merged into <uvm/uvm_page.h>
	<vm/pmap.h> has become <uvm/uvm_pmap.h>

this leaves just <vm/vm.h> in NetBSD.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Apr 24 17:12:01 2000 UTC (23 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.14: +10 -1 lines
Diff to previous 1.14 (colored) to selected 1.59.2.19 (colored)

Changes necessary to implement pre-zero'ing of pages in the idle loop:
- Make page free lists have two actual queues: known-zero pages and
  pages with unknown contents.
- Implement uvm_pageidlezero().  This function attempts to zero up to
  the target number of pages until the target has been reached (currently
  target is `all free pages') or until whichqs becomes non-zero (indicating
  that a process is ready to run).
- Define a new hook for the pmap module for pre-zero'ing pages.  This is
  used to zero the pages using uncached access.  This allows us to zero
  as many pages as we want without polluting the cache.

In order to use this feature, each platform must add the appropropriate
glue in their idle loop.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Mar 26 20:54:47 2000 UTC (24 years ago) by kleink
Branch: MAIN
Changes since 1.13: +2 -3 lines
Diff to previous 1.13 (colored) to selected 1.59.2.19 (colored)

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.11.4.4 / (download) - annotate - [select for diffs], Mon Aug 9 00:05:56 1999 UTC (24 years, 8 months ago) by chs
Branch: chs-ubc2
Changes since 1.11.4.3: +2 -2 lines
Diff to previous 1.11.4.3 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored) to selected 1.59.2.19 (colored)

create a new type "voff_t" for uvm_object offsets
and define it to be "off_t".  also, remove pgo_asyncget().

Revision 1.11.4.3 / (download) - annotate - [select for diffs], Sat Jul 31 18:57:39 1999 UTC (24 years, 8 months ago) by chs
Branch: chs-ubc2
Changes since 1.11.4.2: +3 -5 lines
Diff to previous 1.11.4.2 (colored) to branchpoint 1.11 (colored) to selected 1.59.2.19 (colored)

add uvm_page_unbusy() to simplify dropping PG_BUSY.

Revision 1.11.4.2 / (download) - annotate - [select for diffs], Thu Jul 1 23:55:17 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.11.4.1: +5 -1 lines
Diff to previous 1.11.4.1 (colored) to branchpoint 1.11 (colored) to selected 1.59.2.19 (colored)

Sync w/ -current.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jun 21 17:25:12 1999 UTC (24 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase, chs-ubc2-base
Branch point for: thorpej_scsipi
Changes since 1.12: +5 -1 lines
Diff to previous 1.12 (colored) to selected 1.59.2.19 (colored)

Protect prototypes, certain macros, and inlines from userland.

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Mon Jun 21 01:47:21 1999 UTC (24 years, 10 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored) to selected 1.59.2.19 (colored)

Sync w/ -current.

Revision 1.12 / (download) - annotate - [select for diffs], Mon May 24 19:10:57 1999 UTC (24 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored) to selected 1.59.2.19 (colored)

- Change uvm_{lock,unlock}_fpageq() to return/take the previous interrupt
  level directly, instead of making the caller wrap the calls in
  splimp()/splx().
- Add a comment documenting that interrupts that cause memory allocation
  must be blocked while the free page queue is locked.

Since interrupts must be blocked while this lock is asserted, tying them
together like this helps to prevent mistakes.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Mar 25 18:48:53 1999 UTC (25 years, 1 month ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.10: +1 -5 lines
Diff to previous 1.10 (colored) to selected 1.59.2.19 (colored)

remove now >1 year old pre-release message.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Aug 13 02:11:02 1998 UTC (25 years, 8 months ago) by eeh
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Changes since 1.9: +5 -5 lines
Diff to previous 1.9 (colored) to selected 1.59.2.19 (colored)

Merge paddr_t changes into the main branch.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Thu Jul 30 14:04:14 1998 UTC (25 years, 8 months ago) by eeh
Branch: eeh-paddr_t
Changes since 1.9: +5 -5 lines
Diff to previous 1.9 (colored) next main 1.10 (colored) to selected 1.59.2.19 (colored)

Split vm_offset_t and vm_size_t into paddr_t, psize_t, vaddr_t, and vsize_t.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jul 8 04:28:28 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base
Branch point for: eeh-paddr_t
Changes since 1.8: +3 -1 lines
Diff to previous 1.8 (colored) to selected 1.59.2.19 (colored)

Add support for multiple memory free lists.  There is at least one
default free list, and 0 - N additional free list, in order of descending
priority.

A new page allocation function, uvm_pagealloc_strat(), has been added,
providing three page allocation strategies:

	- normal: high -> low priority free list walk, taking the
	  page off the first free list that has one.

	- only: attempt to allocate a page only from the specified free
	  list, failing if that free list has none available.

	- fallback: if `only' fails, fall back on `normal'.

uvm_pagealloc(...) is provided for normal use (and is a synonym for
uvm_pagealloc_strat(..., UVM_PGA_STRAT_NORMAL, 0); the free list argument
is ignored for the `normal' case).

uvm_page_physload() now specified which free list the pages will be
loaded onto.  This means that some platforms which have multiple physical
memory segments may define additional vm_physsegs if they wish to break
individual physical segments into differing priorities.

Machine-dependent code must define _at least_ the following constants
in <machine/vmparam.h>:

	VM_NFREELIST: the number of free lists the system will have

	VM_FREELIST_DEFAULT: the default freelist (should always be 0,
	but is defined in machdep code so that it's with all of the
	other free list-related constants).

Additional free list names may be defined by machine-dependent code, but
they will only be used by machine-dependent code (e.g. for loading the
vm_physsegs).

Revision 1.8 / (download) - annotate - [select for diffs], Thu May 28 15:31:31 1998 UTC (25 years, 10 months ago) by chuck
Branch: MAIN
Changes since 1.7: +6 -2 lines
Diff to previous 1.7 (colored) to selected 1.59.2.19 (colored)

unstatic uvm_page_physload so pmap modules can use it too.
	as requested by Eduardo E. Horvath

Revision 1.7 / (download) - annotate - [select for diffs], Sun Mar 22 21:29:30 1998 UTC (26 years, 1 month ago) by chuck
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored) to selected 1.59.2.19 (colored)

remove tmpwire arg from uvm_pagewire() -- it isn't needed anymore.
noted by chuck s.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Mar 9 00:58:58 1998 UTC (26 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored) to selected 1.59.2.19 (colored)

KNF.

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

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

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

add/cleanup multiple inclusion protection.

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

restore rcsids

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 6 22:32:15 1998 UTC (26 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored) to selected 1.59.2.19 (colored)

RCS ID police.

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Thu Feb 5 06:25:09 1998 UTC (26 years, 2 months ago) by mrg
Branch: CDC
CVS Tags: uvm980205
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.59.2.19 (colored)

initial import of the new virtual memory system, UVM, into -current.

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

this is the UVM kernel code portion.


this will be KNF'd shortly.  :-)

Revision 1.1 / (download) - annotate - [select for diffs], Thu Feb 5 06:25:09 1998 UTC (26 years, 2 months ago) by mrg
Branch: MAIN
Diff to selected 1.59.2.19 (colored)

Initial revision

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




CVSweb <webmaster@jp.NetBSD.org>