The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.40 / (download) - annotate - [select for diffs], Tue Apr 12 20:27:56 2022 UTC (2 years ago) by andvar
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, 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, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.39: +4 -4 lines
Diff to previous 1.39 (colored) to selected 1.2.2.1 (colored)

s/stablize/stabilize/

Revision 1.39 / (download) - annotate - [select for diffs], Thu Jun 11 22:21:05 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.38: +10 -5 lines
Diff to previous 1.38 (colored) to selected 1.2.2.1 (colored)

Counter tweaks:

- Don't need to count anonpages+filepages any more; clean+unknown+dirty for
  each kind of page can be summed to get the totals.

- Track the number of free pages with a counter so that it's one less thing
  for the allocator to do, which opens up further options there.

- Remove cpu_count_sync_one().  It has no users and doesn't save a whole lot.
  For the cheap option, give cpu_count_sync() a boolean parameter indicating
  that a cached value is okay, and rate limit the updates for cached values
  to hz.

Revision 1.38 / (download) - annotate - [select for diffs], Thu Jun 11 19:20:47 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored) to selected 1.2.2.1 (colored)

uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched.  It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.

Revision 1.37 / (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.36: +25 -2 lines
Diff to previous 1.36 (colored) to selected 1.2.2.1 (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.17.48.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:04 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.17: +473 -94 lines
Diff to previous 1.17 (colored) next main 1.18 (colored) to selected 1.2.2.1 (colored)

Merge changes from current as of 20200406

Revision 1.36 / (download) - annotate - [select for diffs], Thu Apr 2 16:29:30 2020 UTC (4 years ago) by maxv
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.35: +5 -5 lines
Diff to previous 1.35 (colored) to selected 1.2.2.1 (colored)

Hide 'hardclock_ticks' behind a new getticks() function, and use relaxed
atomics internally. Only one caller is converted for now.

Discussed with riastradh@ and ad@.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Mar 14 13:53:26 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.34: +5 -5 lines
Diff to previous 1.34 (colored) to selected 1.2.2.1 (colored)

uvm_pdpolicy: Require a write lock on the object only for dequeue.
No sense in requiring that for enqueue/activate/deactivate.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Mar 8 15:01:50 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.33: +8 -6 lines
Diff to previous 1.33 (colored) to selected 1.2.2.1 (colored)

Don't zap the non-pdpolicy bits in pg->pqflags.

Revision 1.30.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:11 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.30.2.1: +18 -15 lines
Diff to previous 1.30.2.1 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored) to selected 1.2.2.1 (colored)

Sync with head.

Revision 1.33 / (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.32: +11 -11 lines
Diff to previous 1.32 (colored) to selected 1.2.2.1 (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.32 / (download) - annotate - [select for diffs], Thu Jan 30 12:28:51 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.31: +9 -6 lines
Diff to previous 1.31 (colored) to selected 1.2.2.1 (colored)

uvmpdpol_estimatepageable(): Don't take any locks here.  This can be called
from DDB, and in any case the numbers are stale the instant the lock is
dropped, so it just doesn't matter.

Revision 1.30.2.1 / (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.30: +4 -17 lines
Diff to previous 1.30 (colored) to selected 1.2.2.1 (colored)

Sync with head.

Revision 1.31 / (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.30: +4 -17 lines
Diff to previous 1.30 (colored) to selected 1.2.2.1 (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.30 / (download) - annotate - [select for diffs], Wed Jan 1 14:33:48 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored) to selected 1.2.2.1 (colored)

Fix a comment.

Revision 1.29 / (download) - annotate - [select for diffs], Wed Jan 1 01:18:34 2020 UTC (4 years, 3 months ago) by mlelstv
Branch: MAIN
Changes since 1.28: +3 -2 lines
Diff to previous 1.28 (colored) to selected 1.2.2.1 (colored)

explicitely include sys/atomic.h for atomic operations.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Dec 31 22:42:51 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.27: +290 -51 lines
Diff to previous 1.27 (colored) to selected 1.2.2.1 (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.27 / (download) - annotate - [select for diffs], Tue Dec 31 13:07:14 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored) to selected 1.2.2.1 (colored)

Rename uvm_free() -> uvm_availmem().

Revision 1.26 / (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.25: +3 -3 lines
Diff to previous 1.25 (colored) to selected 1.2.2.1 (colored)

Rename uvm_page_locked_p() -> uvm_page_owner_locked_p()

Revision 1.25 / (download) - annotate - [select for diffs], Mon Dec 30 18:18:03 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.24: +2 -4 lines
Diff to previous 1.24 (colored) to selected 1.2.2.1 (colored)

Whitespace.

Revision 1.24 / (download) - annotate - [select for diffs], Mon Dec 30 18:08:38 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.23: +79 -47 lines
Diff to previous 1.23 (colored) to selected 1.2.2.1 (colored)

pagedaemon:

- Use marker pages to keep place in the queue when scanning, rather than
  relying on assumptions.

- In uvmpdpol_balancequeue(), lock the object once instead of twice.

- When draining pools, the situation is getting desperate, but try to avoid
  saturating the system with xcall, lock and interrupt activity by sleeping
  for 1 clock tick if being continually awoken and all pools have been
  cycled through at least once.

- Pause & resume the freelist cache during pool draining.

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.23 / (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.22: +9 -9 lines
Diff to previous 1.22 (colored) to selected 1.2.2.1 (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.22 / (download) - annotate - [select for diffs], Mon Dec 23 19:29:03 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.21: +2 -4 lines
Diff to previous 1.21 (colored) to selected 1.2.2.1 (colored)

uvmpdpol_selectvictim: don't assert wire_count == 0, as we can (safely)
race with object owner and wired pages can very briefly appear on the queue.

Revision 1.21 / (download) - annotate - [select for diffs], Sat Dec 21 13:00:25 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored) to selected 1.2.2.1 (colored)

uvmexp.free -> uvm_free()

Revision 1.20 / (download) - annotate - [select for diffs], Mon Dec 16 22:47:55 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.19: +16 -9 lines
Diff to previous 1.19 (colored) to selected 1.2.2.1 (colored)

- Extend the per-CPU counters matt@ did to include all of the hot counters
  in UVM, excluding uvmexp.free, which needs special treatment and will be
  done with a separate commit.  Cuts system time for a build by 20-25% on
  a 48 CPU machine w/DIAGNOSTIC.

- Avoid 64-bit integer divide on every fault (for rnd_add_uint32).

Revision 1.19 / (download) - annotate - [select for diffs], Mon Dec 16 19:18:26 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored) to selected 1.2.2.1 (colored)

Use the high bits of pqflags for PQ_TIME, not low.

Revision 1.18 / (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.17: +156 -44 lines
Diff to previous 1.17 (colored) to selected 1.2.2.1 (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.12.16.9 / (download) - annotate - [select for diffs], Mon May 7 18:31:25 2012 UTC (11 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.8: +3 -3 lines
Diff to previous 1.12.16.8 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored) to selected 1.2.2.1 (colored)

Fix typo.

Revision 1.12.16.8 / (download) - annotate - [select for diffs], Fri Apr 27 20:41:09 2012 UTC (11 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.7: +2 -3 lines
Diff to previous 1.12.16.7 (colored) to branchpoint 1.12 (colored) to selected 1.2.2.1 (colored)

Don't decrement pgrp_active in radioactive page dequeue since we don't
increment it when activated a radioactive page.

Revision 1.12.16.7 / (download) - annotate - [select for diffs], Tue Apr 17 00:12:21 2012 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.6: +3 -3 lines
Diff to previous 1.12.16.6 (colored) to branchpoint 1.12 (colored) to selected 1.2.2.1 (colored)

If freemin is 0, don't say a scan is needed.

Revision 1.12.16.6 / (download) - annotate - [select for diffs], Thu Apr 12 19:39:55 2012 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.5: +6 -6 lines
Diff to previous 1.12.16.5 (colored) to branchpoint 1.12 (colored) to selected 1.2.2.1 (colored)

Use PQ_SWAPBACKED to determine radioactiveness of page.
Make sure to add in number of radioactive pages to actives pages.

Revision 1.12.16.5 / (download) - annotate - [select for diffs], Thu Apr 12 01:40:27 2012 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.4: +93 -13 lines
Diff to previous 1.12.16.4 (colored) to branchpoint 1.12 (colored) to selected 1.2.2.1 (colored)

Separate object-less anon pages out of the active list if there is no swap
device.  Make uvm_reclaimable and uvm.*estimatable understand colors and
kmem allocations.

Revision 1.14.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.14: +2 -2 lines
Diff to previous 1.14 (colored) next main 1.15 (colored) to selected 1.2.2.1 (colored)

merge to -current.

Revision 1.12.16.4 / (download) - annotate - [select for diffs], Fri Feb 17 23:35:31 2012 UTC (12 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.3: +8 -2 lines
Diff to previous 1.12.16.3 (colored) to branchpoint 1.12 (colored) to selected 1.2.2.1 (colored)

Assert the page isn't free before munging with its pageq.

Revision 1.12.16.3 / (download) - annotate - [select for diffs], Sun Feb 12 07:30:25 2012 UTC (12 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.2: +16 -16 lines
Diff to previous 1.12.16.2 (colored) to branchpoint 1.12 (colored) to selected 1.2.2.1 (colored)

Disable some of more agressive debug checks since with lots of pages, they
cause O(n^2) increases in time.

Revision 1.12.16.2 / (download) - annotate - [select for diffs], Thu Feb 9 03:05:01 2012 UTC (12 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12.16.1: +228 -68 lines
Diff to previous 1.12.16.1 (colored) to branchpoint 1.12 (colored) to selected 1.2.2.1 (colored)

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

Revision 1.17 / (download) - annotate - [select for diffs], Mon Jan 30 17:21:52 2012 UTC (12 years, 2 months ago) by para
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, tls-maxphys-base-20171202, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-nhusb, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, 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-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, localcount-20160914, khorben-n900, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jdolecek-ncq-base, jdolecek-ncq, isaki-audio2-base, isaki-audio2, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: phil-wifi
Changes since 1.16: +3 -17 lines
Diff to previous 1.16 (colored) to selected 1.2.2.1 (colored)

removed code from uvmpdpol_needsscan_p that got there by mistake
pointed out by yamt@

Revision 1.16 / (download) - annotate - [select for diffs], Sat Jan 28 00:00:06 2012 UTC (12 years, 2 months ago) by rmind
Branch: MAIN
Changes since 1.15: +5 -6 lines
Diff to previous 1.15 (colored) to selected 1.2.2.1 (colored)

pool_page_alloc, pool_page_alloc_meta: avoid extra compare, use const.
ffs_mountfs,sys_swapctl: replace memset with kmem_zalloc.
sys_swapctl: move kmem_free outside the lock path.
uvm_init: fix comment, remove pointless numeration of steps.
uvm_map_enter: remove meflagval variable.
Fix some indentation.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jan 27 19:48:42 2012 UTC (12 years, 2 months ago) by para
Branch: MAIN
Changes since 1.14: +18 -3 lines
Diff to previous 1.14 (colored) to selected 1.2.2.1 (colored)

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

releng@ acknowledged

Revision 1.12.16.1 / (download) - annotate - [select for diffs], Sat Jan 21 23:20:58 2012 UTC (12 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.12: +10 -10 lines
Diff to previous 1.12 (colored) to selected 1.2.2.1 (colored)

Use pg instead p as a pointer to struct uvm_page.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:37 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.13: +23 -8 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.2.2.1 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:04 2011 UTC (12 years, 10 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: jmcneill-usbmp
Changes since 1.13: +23 -8 lines
Diff to previous 1.13 (colored) to selected 1.2.2.1 (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.12.26.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:24 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.12: +3 -8 lines
Diff to previous 1.12 (colored) next main 1.13 (colored) to selected 1.2.2.1 (colored)

Sync with HEAD.

Revision 1.12.20.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:38 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.12.20.1: +3 -8 lines
Diff to previous 1.12.20.1 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored) to selected 1.2.2.1 (colored)

sync with head

Revision 1.12.28.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.12: +3 -8 lines
Diff to previous 1.12 (colored) next main 1.13 (colored) to selected 1.2.2.1 (colored)

Sync with HEAD

Revision 1.13 / (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, rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: cherry-xenmp
Changes since 1.12: +3 -8 lines
Diff to previous 1.12 (colored) to selected 1.2.2.1 (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.12.20.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.12: +23 -8 lines
Diff to previous 1.12 (colored) to selected 1.2.2.1 (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.11.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.11: +9 -9 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.2.2.1 (colored)

sync with head.

Revision 1.11.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.11: +9 -9 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.2.2.1 (colored)

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

Revision 1.11.2.1 / (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.11: +9 -9 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.2.2.1 (colored)

sync with head.

Revision 1.10.6.2 / (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.10.6.1: +7 -7 lines
Diff to previous 1.10.6.1 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored) to selected 1.2.2.1 (colored)

Sync with HEAD.

Also fix build.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jun 4 12:41:40 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base11, yamt-nfs-mp-base10, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-premerge-20091211, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, jruoho-x86intr-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: rmind-uvmplock, matt-nb5-mips64, jruoho-x86intr, bouyer-quota2
Changes since 1.11: +9 -9 lines
Diff to previous 1.11 (colored) to selected 1.2.2.1 (colored)

vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.

Revision 1.10.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.10: +4 -4 lines
Diff to previous 1.10 (colored) to selected 1.2.2.1 (colored)

Sync with HEAD.

Revision 1.10.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.10: +4 -4 lines
Diff to previous 1.10 (colored) next main 1.11 (colored) to selected 1.2.2.1 (colored)

sync with head.

Revision 1.8.18.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.8.18.1: +5 -5 lines
Diff to previous 1.8.18.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.2.2.1 (colored)

sync with HEAD

Revision 1.5.4.5 / (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.5.4.4: +4 -4 lines
Diff to previous 1.5.4.4 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.2.2.1 (colored)

sync with head.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Mar 7 08:44:51 2008 UTC (16 years, 1 month ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, hpcarm-cleanup-nbase, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored) to selected 1.2.2.1 (colored)

Swap sysctl -d description of vm.filemin and vm.execmin. Noted by
Raymond Meyer on current-users.

Revision 1.8.24.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.8: +7 -7 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.2.2.1 (colored)

Sync with HEAD.

Revision 1.5.4.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:25 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.5.4.3: +7 -7 lines
Diff to previous 1.5.4.3 (colored) to branchpoint 1.5 (colored) to selected 1.2.2.1 (colored)

sync with head

Revision 1.8.30.2 / (download) - annotate - [select for diffs], Sat Jan 19 12:15:50 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.8.30.1: +1 -1 lines
Diff to previous 1.8.30.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.2.2.1 (colored)

Sync with HEAD

Revision 1.10 / (download) - annotate - [select for diffs], Fri Jan 18 10:48:23 2008 UTC (16 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored) to selected 1.2.2.1 (colored)

push pmap_clear_reference calls into pdpolicy code, where reference bits
actually matter.

Revision 1.8.18.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:44 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.8: +6 -6 lines
Diff to previous 1.8 (colored) to selected 1.2.2.1 (colored)

sync with HEAD

Revision 1.8.30.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:44 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.8: +6 -6 lines
Diff to previous 1.8 (colored) to selected 1.2.2.1 (colored)

Sync with HEAD

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:20 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.8: +6 -6 lines
Diff to previous 1.8 (colored) to selected 1.2.2.1 (colored)

Merge vmlocking2 to head.

Revision 1.8.26.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:04:04 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking2
Changes since 1.8: +6 -6 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.2.2.1 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.8.4.1 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:58 2007 UTC (17 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.8: +6 -6 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.2.2.1 (colored)

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

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:55:29 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.6: +12 -12 lines
Diff to previous 1.6 (colored) next main 1.7 (colored) to selected 1.2.2.1 (colored)

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

Revision 1.5.4.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.5.4.2: +12 -13 lines
Diff to previous 1.5.4.2 (colored) to branchpoint 1.5 (colored) to selected 1.2.2.1 (colored)

sync with head.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Feb 22 06:05:01 2007 UTC (17 years, 1 month ago) by thorpej
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, yamt-idlelwp-base8, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, vmlocking-base, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, reinoud-bufcleanup, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, mjf-ufs-trans, matt-mips64-base, matt-mips64, 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, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking2, vmlocking, mjf-devfs, matt-armv6, bouyer-xeni386
Changes since 1.7: +5 -5 lines
Diff to previous 1.7 (colored) to selected 1.2.2.1 (colored)

TRUE -> true, FALSE -> false

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 21 23:00:14 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.6: +9 -9 lines
Diff to previous 1.6 (colored) to selected 1.2.2.1 (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.1.6.2 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:52 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.1.6.1: +2 -3 lines
Diff to previous 1.1.6.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.2.2.1 (colored)

Sync with head.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Jan 19 15:52:24 2007 UTC (17 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.5: +2 -3 lines
Diff to previous 1.5 (colored) to selected 1.2.2.1 (colored)

Remove useless double assignment.

PR 35442

Revision 1.5.4.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.5.4.1: +471 -0 lines
Diff to previous 1.5.4.1 (colored) to branchpoint 1.5 (colored) to selected 1.2.2.1 (colored)

sync with head.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:34 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.2.2.1: +3 -3 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head.

Revision 1.1.6.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.1: +471 -0 lines
Diff to previous 1.1 (colored) to selected 1.2.2.1 (colored)

Sync with head.

Revision 1.5.4.1, Wed Nov 1 10:18:27 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.5: +0 -471 lines
FILE REMOVED

file uvm_pdpolicy_clock.c was added on branch yamt-lazymbuf on 2006-12-30 20:51:05 +0000

Revision 1.5 / (download) - annotate - [select for diffs], Wed Nov 1 10:18:27 2006 UTC (17 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: yamt-lazymbuf
Changes since 1.4: +1 -1 lines
Diff to previous 1.4 (colored) to selected 1.2.2.1 (colored)

remove some __unused from function parameters.

Revision 1.2.2.1 / (download) - annotate - [selected], Sun Oct 22 06:07:54 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.2: +3 -4 lines
Diff to previous 1.2 (colored)

sync with head

Revision 1.4 / (download) - annotate - [select for diffs], Thu Oct 12 10:14:20 2006 UTC (17 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.3: +2 -3 lines
Diff to previous 1.3 (colored) to selected 1.2.2.1 (colored)

move some knowledge about vnode into uvm_vnode.c.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:54 2006 UTC (17 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored) to selected 1.2.2.1 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.2 / (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-base
Branch point for: yamt-splraiseipl
Changes since 1.1: +472 -0 lines
Diff to previous 1.1 (colored) to selected 1.2.2.1 (colored)

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

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Fri Sep 15 11:54:56 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.1.2.1: +1 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.2.2.1 (colored)

make UVM_KICK_PDAEMON() a real function and stop including
uvm_pdpolicy.h from uvm.h.  this also fixes build of pmap(1).

Revision 1.1.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.1: +471 -0 lines
Diff to previous 1.1 (colored) to selected 1.2.2.1 (colored)

separate page replacement policy from the rest of kernel.

Revision 1.1, Sun Mar 5 12:51:09 2006 UTC (18 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-nbase
Branch point for: yamt-pdpolicy, newlock2
FILE REMOVED

file uvm_pdpolicy_clock.c was initially added on branch yamt-pdpolicy.

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>