The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.104 / (download) - annotate - [select for diffs], Thu Jun 11 22:21:05 2020 UTC (3 years, 9 months ago) by ad
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-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.103: +3 -5 lines
Diff to previous 1.103 (colored) to selected 1.16 (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.103 / (download) - annotate - [select for diffs], Wed May 20 18:37:50 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.102: +6 -7 lines
Diff to previous 1.102 (colored) to selected 1.16 (colored)

uvm_loanuobjpages():

- there are no pages to unbusy in the error case
- always clear the caller's page array

Revision 1.102 / (download) - annotate - [select for diffs], Tue May 19 21:52:04 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.101: +64 -84 lines
Diff to previous 1.101 (colored) to selected 1.16 (colored)

uvm_loanuobjpages():

- vmobjlock is shared between tmpfs vnodes and UAOs now
- split into two routines, to simplify
- fix error recovery

Revision 1.101 / (download) - annotate - [select for diffs], Sun May 17 19:38:17 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.100: +38 -27 lines
Diff to previous 1.100 (colored) to selected 1.16 (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.87.2.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:04 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.87: +156 -161 lines
Diff to previous 1.87 (colored) next main 1.88 (colored) to selected 1.16 (colored)

Merge changes from current as of 20200406

Revision 1.100 / (download) - annotate - [select for diffs], Sun Mar 22 18:32:42 2020 UTC (4 years 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.99: +3 -2 lines
Diff to previous 1.99 (colored) to selected 1.16 (colored)

Process concurrent page faults on individual uvm_objects / vm_amaps in
parallel, where the relevant pages are already in-core.  Proposed on
tech-kern.

Temporarily disabled on MP architectures with __HAVE_UNLOCKED_PMAP until
adjustments are made to their pmaps.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Mar 20 19:08:54 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.98: +5 -6 lines
Diff to previous 1.98 (colored) to selected 1.16 (colored)

Go back to freeing struct vm_anon one by one.  There may have been an
advantage circa ~2008 but there isn't now.

Revision 1.98 / (download) - annotate - [select for diffs], Tue Mar 17 18:31:39 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.97: +20 -9 lines
Diff to previous 1.97 (colored) to selected 1.16 (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.97 / (download) - annotate - [select for diffs], Sat Mar 14 20:23:51 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.96: +13 -28 lines
Diff to previous 1.96 (colored) to selected 1.16 (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.93.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:11 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.93.2.1: +52 -52 lines
Diff to previous 1.93.2.1 (colored) to branchpoint 1.93 (colored) next main 1.94 (colored) to selected 1.16 (colored)

Sync with head.

Revision 1.96 / (download) - annotate - [select for diffs], Mon Feb 24 21:06:11 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.95: +6 -3 lines
Diff to previous 1.95 (colored) to selected 1.16 (colored)

uvm_unloanpage(): fix a screwup in previous.  slock must be set NULL if
it can't be acquired.

Revision 1.95 / (download) - annotate - [select for diffs], Sun Feb 23 15:46:43 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.94: +52 -55 lines
Diff to previous 1.94 (colored) to selected 1.16 (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.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:38 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.93: +20 -15 lines
Diff to previous 1.93 (colored) to selected 1.16 (colored)

Sync with head.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Jan 15 17:55:45 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1
Changes since 1.93: +20 -15 lines
Diff to previous 1.93 (colored) to selected 1.16 (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.93 / (download) - annotate - [select for diffs], Tue Dec 31 22:42:51 2019 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.92: +27 -25 lines
Diff to previous 1.92 (colored) to selected 1.16 (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], Wed Dec 18 20:38:14 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.91: +40 -43 lines
Diff to previous 1.91 (colored) to selected 1.16 (colored)

PR kern/54783: t_mmap crahes the kernel

- Fix various locking & sequencing errors with breaking loans.

- Don't call uvm_pageremove_tree() while holding pg->interlock as radixtree
  can take further locks when freeing nodes.

Revision 1.91 / (download) - annotate - [select for diffs], Sun Dec 15 21:11:35 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.90: +7 -8 lines
Diff to previous 1.90 (colored) to selected 1.16 (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.90 / (download) - annotate - [select for diffs], Sat Dec 14 15:08:45 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.89: +9 -5 lines
Diff to previous 1.89 (colored) to selected 1.16 (colored)

Don't call uvm_pagedequeue() while holding pg->interlock.

Revision 1.89 / (download) - annotate - [select for diffs], Fri Dec 13 20:10:22 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.88: +44 -52 lines
Diff to previous 1.88 (colored) to selected 1.16 (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.88 / (download) - annotate - [select for diffs], Sun Dec 1 14:40:31 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.87: +3 -3 lines
Diff to previous 1.87 (colored) to selected 1.16 (colored)

- Adjust uvmexp.swpgonly with atomics, and make uvm_swap_data_lock static.
- A bit more __cacheline_aligned on mutexes.

Revision 1.85.2.2 / (download) - annotate - [select for diffs], Mon Jun 25 07:26:08 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.85.2.1: +6 -2 lines
Diff to previous 1.85.2.1 (colored) to branchpoint 1.85 (colored) next main 1.86 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.87 / (download) - annotate - [select for diffs], Fri May 25 20:11:03 2018 UTC (5 years, 10 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, 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, 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, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi
Changes since 1.86: +6 -2 lines
Diff to previous 1.86 (colored) to selected 1.16 (colored)

add the KASSERT() for loan_count wrap-around to all places which increase it

Revision 1.85.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.85: +3 -2 lines
Diff to previous 1.85 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.86 / (download) - annotate - [select for diffs], Sat May 19 11:02:33 2018 UTC (5 years, 10 months ago) by jdolecek
Branch: MAIN
CVS Tags: pgoyette-compat-0521
Changes since 1.85: +3 -2 lines
Diff to previous 1.85 (colored) to selected 1.16 (colored)

detect wraparound when bumping page wire_count and loan_count

Revision 1.83.2.1 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:22 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.83: +15 -15 lines
Diff to previous 1.83 (colored) next main 1.84 (colored) to selected 1.16 (colored)

update from HEAD

Revision 1.84.6.1 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:53 2017 UTC (6 years, 4 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.84: +14 -12 lines
Diff to previous 1.84 (colored) next main 1.85 (colored) to selected 1.16 (colored)

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

Revision 1.85 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:13 2017 UTC (6 years, 5 months ago) by pgoyette
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.84: +14 -12 lines
Diff to previous 1.84 (colored) to selected 1.16 (colored)

Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...

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

Details of changes:

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

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

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

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

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

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

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

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

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

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

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

Revision 1.83.16.1 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:17 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.83: +3 -5 lines
Diff to previous 1.83 (colored) next main 1.84 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.83.24.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:09 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.83: +3 -5 lines
Diff to previous 1.83 (colored) next main 1.84 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.83.20.1 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:54 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.83: +3 -5 lines
Diff to previous 1.83 (colored) next main 1.84 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.84 / (download) - annotate - [select for diffs], Sun Mar 19 23:44:35 2017 UTC (7 years ago) by riastradh
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.83: +3 -5 lines
Diff to previous 1.83 (colored) to selected 1.16 (colored)

__diagused police

Revision 1.81.2.18 / (download) - annotate - [select for diffs], Tue Oct 30 17:23:02 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.81.2.17: +6 -2 lines
Diff to previous 1.81.2.17 (colored) to branchpoint 1.81 (colored) next main 1.82 (colored) to selected 1.16 (colored)

sync with head

Revision 1.83 / (download) - annotate - [select for diffs], Mon Jul 30 23:56:48 2012 UTC (11 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, 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, pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, 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, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, localcount-20160914, khorben-n900, bouyer-socketcan-base, agc-symver-base, agc-symver
Branch point for: tls-maxphys, pgoyette-localcount, nick-nhusb, bouyer-socketcan
Changes since 1.82: +6 -2 lines
Diff to previous 1.82 (colored) to selected 1.16 (colored)

-fno-common broke kernhist since it used commons.
Add a KERNHIST_DEFINE which is define the kernel history.
Change UVM to deal with the new usage.

Revision 1.81.2.17 / (download) - annotate - [select for diffs], Tue Jun 12 17:12:01 2012 UTC (11 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.16: +2 -2 lines
Diff to previous 1.81.2.16 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

as usefulness of O->A loaning is unclear, disable it by default for now.

requested by rmind.
http://mail-index.NetBSD.org/tech-kern/2012/05/08/msg013139.html

Revision 1.81.2.16 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:59 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.15: +2 -3 lines
Diff to previous 1.81.2.15 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

sync with head

Revision 1.72.10.1 / (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.72: +8 -8 lines
Diff to previous 1.72 (colored) next main 1.73 (colored) to selected 1.16 (colored)

Improve UVM_PAGE_TRKOWN.
Add more asserts to uvm_page.

Revision 1.81.6.1 / (download) - annotate - [select for diffs], Fri Feb 24 09:11:52 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.81: +2 -3 lines
Diff to previous 1.81 (colored) next main 1.82 (colored) to selected 1.16 (colored)

sync to -current.

Revision 1.82 / (download) - annotate - [select for diffs], Sun Feb 19 00:05:56 2012 UTC (12 years, 1 month ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base10
Changes since 1.81: +2 -3 lines
Diff to previous 1.81 (colored) to selected 1.16 (colored)

Remove VM_MAP_INTRSAFE and related code.  Not used since the "kmem changes".

Revision 1.81.2.15 / (download) - annotate - [select for diffs], Sun Feb 5 04:59:30 2012 UTC (12 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.14: +3 -3 lines
Diff to previous 1.81.2.14 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

FALSE -> false

Revision 1.81.2.14 / (download) - annotate - [select for diffs], Sun Feb 5 04:58:29 2012 UTC (12 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.13: +4 -4 lines
Diff to previous 1.81.2.13 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

turn vm.loanread sysctl to a threshold.

Revision 1.81.2.13 / (download) - annotate - [select for diffs], Wed Jan 25 00:41:36 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.12: +7 -7 lines
Diff to previous 1.81.2.12 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

uvm_loanabj: take an access pattern hint.

Revision 1.81.2.12 / (download) - annotate - [select for diffs], Wed Jan 18 02:09:06 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.11: +3 -3 lines
Diff to previous 1.81.2.11 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

- bug fixes
- minor optimizations
- assertions
- comments

Revision 1.81.2.11 / (download) - annotate - [select for diffs], Wed Jan 11 00:09:51 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.10: +3 -5 lines
Diff to previous 1.81.2.10 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

turn an error return to an assertion

Revision 1.81.2.10 / (download) - annotate - [select for diffs], Wed Jan 11 00:08:41 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.9: +4 -4 lines
Diff to previous 1.81.2.9 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

create a sysctl knob to turn on/off loaned read.

Revision 1.81.2.9 / (download) - annotate - [select for diffs], Wed Jan 4 16:31:17 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.8: +3 -3 lines
Diff to previous 1.81.2.8 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

O->A loan related statistics fixes.

Revision 1.81.2.8 / (download) - annotate - [select for diffs], Wed Dec 28 13:24:19 2011 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.7: +19 -2 lines
Diff to previous 1.81.2.7 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

uvm_loanobj_read: try to avoid creating VAC aliases if PMAP_PREFER is available

Revision 1.81.2.7 / (download) - annotate - [select for diffs], Wed Dec 28 13:21:27 2011 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.6: +2 -6 lines
Diff to previous 1.81.2.6 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

O->A loan fix

Revision 1.81.2.6 / (download) - annotate - [select for diffs], Wed Dec 28 13:20:19 2011 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.5: +3 -2 lines
Diff to previous 1.81.2.5 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

missing include sys/atomic.h

Revision 1.81.2.5 / (download) - annotate - [select for diffs], Mon Dec 26 16:03:11 2011 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.4: +544 -58 lines
Diff to previous 1.81.2.4 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

- use O->A loan to serve read(2).  based on a patch from Chuck Silvers
- associated O->A loan fixes.

Revision 1.81.2.4 / (download) - annotate - [select for diffs], Sun Nov 20 10:52:33 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.3: +72 -32 lines
Diff to previous 1.81.2.3 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

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

Revision 1.81.2.3 / (download) - annotate - [select for diffs], Fri Nov 18 00:57:33 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.2: +1 -2 lines
Diff to previous 1.81.2.2 (colored) to branchpoint 1.81 (colored) to selected 1.16 (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.81.2.2 / (download) - annotate - [select for diffs], Sun Nov 6 22:05:00 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81.2.1: +2 -2 lines
Diff to previous 1.81.2.1 (colored) to branchpoint 1.81 (colored) to selected 1.16 (colored)

remove pg->listq and uobj->memq

Revision 1.81.2.1 / (download) - annotate - [select for diffs], Wed Nov 2 21:54:01 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.81: +11 -8 lines
Diff to previous 1.81 (colored) to selected 1.16 (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.81 / (download) - annotate - [select for diffs], Sat Aug 6 17:25:03 2011 UTC (12 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, 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-pre-base2, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.80: +17 -20 lines
Diff to previous 1.80 (colored) to selected 1.16 (colored)

- Rework uvm_anfree() into uvm_anon_freelst(), which always drops the lock.
- Free anons in uvm_anon_freelst() without lock held.
- Mechanic sync to unused loaning code.

Revision 1.79.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:35 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.79: +64 -61 lines
Diff to previous 1.79 (colored) next main 1.80 (colored) to selected 1.16 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.80 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:03 2011 UTC (12 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.79: +64 -61 lines
Diff to previous 1.79 (colored) to selected 1.16 (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.77.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:22 2011 UTC (12 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.77: +2 -11 lines
Diff to previous 1.77 (colored) next main 1.78 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.77.4.5 / (download) - annotate - [select for diffs], Tue May 31 03:05:14 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.77.4.4: +2 -4 lines
Diff to previous 1.77.4.4 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored) to selected 1.16 (colored)

sync with head

Revision 1.77.4.4 / (download) - annotate - [select for diffs], Thu May 19 03:43:06 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.77.4.3: +5 -4 lines
Diff to previous 1.77.4.3 (colored) to branchpoint 1.77 (colored) to selected 1.16 (colored)

Implement sharing of vnode_t::v_interlock amongst vnodes:
- Lock is shared amongst UVM objects using uvm_obj_setlock() or getnewvnode().
- Adjust vnode cache to handle unsharing, add VI_LOCKSHARE flag for that.
- Use sharing in tmpfs and layerfs for underlying object.
- Simplify locking in ubc_fault().
- Sprinkle some asserts.

Discussed with ad@.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Apr 23 18:14:12 2011 UTC (12 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.78: +2 -4 lines
Diff to previous 1.78 (colored) to selected 1.16 (colored)

Replace "malloc" in comments, remove unnecessary header inclusions.

Revision 1.77.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:36 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.77.4.2: +2 -9 lines
Diff to previous 1.77.4.2 (colored) to branchpoint 1.77 (colored) to selected 1.16 (colored)

sync with head

Revision 1.77.8.1 / (download) - annotate - [select for diffs], Tue Feb 8 16:20:06 2011 UTC (13 years, 1 month ago) by bouyer
Branch: bouyer-quota2
Changes since 1.77: +2 -9 lines
Diff to previous 1.77 (colored) next main 1.78 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.78 / (download) - annotate - [select for diffs], Wed Feb 2 15:13:34 2011 UTC (13 years, 1 month ago) by chuck
Branch: MAIN
CVS Tags: uebayasi-xip-base7, bouyer-quota2-nbase, bouyer-quota2-base
Changes since 1.77: +2 -9 lines
Diff to previous 1.77 (colored) to selected 1.16 (colored)

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

no functional change with this commit.

Revision 1.77.2.3 / (download) - annotate - [select for diffs], Mon Jul 12 06:25:14 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.77.2.2: +1 -6 lines
Diff to previous 1.77.2.2 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored) to selected 1.16 (colored)

Reduce more diff by backing out XIP page specific code.  Allow XIP pages
to be loaned.

Revision 1.77.2.2 / (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.77.2.1: +2 -2 lines
Diff to previous 1.77.2.1 (colored) to branchpoint 1.77 (colored) to selected 1.16 (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.77.4.2 / (download) - annotate - [select for diffs], Wed Mar 17 06:03:18 2010 UTC (14 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.77.4.1: +34 -34 lines
Diff to previous 1.77.4.1 (colored) to branchpoint 1.77 (colored) to selected 1.16 (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.77.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:17 2010 UTC (14 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.77: +31 -29 lines
Diff to previous 1.77 (colored) to selected 1.16 (colored)

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

Revision 1.70.10.2 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:47 2010 UTC (14 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.70.10.1: +67 -5 lines
Diff to previous 1.70.10.1 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored) to selected 1.16 (colored)

sync with head

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Fri Feb 12 13:39:10 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.77: +6 -1 lines
Diff to previous 1.77 (colored) to selected 1.16 (colored)

Teach device page handling.

Revision 1.77 / (download) - annotate - [select for diffs], Wed Feb 3 14:02:49 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: uebayasi-xip, rmind-uvmplock, jruoho-x86intr, bouyer-quota2
Changes since 1.76: +9 -4 lines
Diff to previous 1.76 (colored) to selected 1.16 (colored)

A few assertions & comments.

Revision 1.76 / (download) - annotate - [select for diffs], Tue Feb 2 17:40:43 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: MAIN
Changes since 1.75: +4 -5 lines
Diff to previous 1.75 (colored) to selected 1.16 (colored)

Don't pass an unnecessary reference to uvm_loanbreak_anon().

Requested by rmind@.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Feb 2 06:06:02 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: MAIN
Changes since 1.74: +60 -2 lines
Diff to previous 1.74 (colored) to selected 1.16 (colored)

Move A->K loan break code to uvm_loan.c.

Revision 1.74 / (download) - annotate - [select for diffs], Sat Dec 5 22:34:43 2009 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.73: +5 -5 lines
Diff to previous 1.73 (colored) to selected 1.16 (colored)

Convert tsleep(&lbolt) to kpause().  Make ltsleep/mtsleep on lbolt
illegal.  I examined all places where lbolt is referenced to make
sure there were pointer aliases of it passed to tsleep, but put a
KASSERT in m/ltsleep() just to be sure.

Revision 1.70.10.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:39 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.70: +5 -7 lines
Diff to previous 1.70 (colored) to selected 1.16 (colored)

sync with head.

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

Sync with HEAD.

Revision 1.70.6.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:43 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.70.6.2: +1 -1 lines
Diff to previous 1.70.6.2 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:42 2008 UTC (15 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.72: +3 -3 lines
Diff to previous 1.72 (colored) next main 1.73 (colored) to selected 1.16 (colored)

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

Revision 1.73 / (download) - annotate - [select for diffs], Wed Dec 3 14:46:24 2008 UTC (15 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, 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-nbase, jym-xensuspend-base, jym-xensuspend, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.72: +3 -3 lines
Diff to previous 1.72 (colored) to selected 1.16 (colored)

uvm_loanuobjpages(): "nfsread" -> "loanuopg" in tsleep wmesg

Revision 1.70.6.2 / (download) - annotate - [select for diffs], Sun Jun 29 09:33:21 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.70.6.1: +1 -3 lines
Diff to previous 1.70.6.1 (colored) to branchpoint 1.70 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.70.12.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.70: +4 -6 lines
Diff to previous 1.70 (colored) next main 1.71 (colored) to selected 1.16 (colored)

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

Revision 1.71.2.1 / (download) - annotate - [select for diffs], Wed Jun 18 16:33:59 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.71: +3 -5 lines
Diff to previous 1.71 (colored) next main 1.72 (colored) to selected 1.16 (colored)

Sync with head.

Revision 1.70.8.1 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:17 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.70: +4 -6 lines
Diff to previous 1.70 (colored) next main 1.71 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.72 / (download) - annotate - [select for diffs], Tue Jun 17 02:29:10 2008 UTC (15 years, 9 months ago) by yamt
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, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, matt-nb5-mips64, haad-dm
Changes since 1.71: +3 -5 lines
Diff to previous 1.71 (colored) to selected 1.16 (colored)

initialize uvm_loanzero_object correctly after page-cache rbtree changes.

Revision 1.70.6.1 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:38 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored) to selected 1.16 (colored)

Sync with HEAD.

Also fix build.

Revision 1.71 / (download) - annotate - [select for diffs], Wed Jun 4 13:23:30 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
Branch point for: simonb-wapbl
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored) to selected 1.16 (colored)

listq -> listq.queue

Revision 1.67.4.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:33 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.67.4.1: +82 -78 lines
Diff to previous 1.67.4.1 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.55.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:21 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.55.2.6: +82 -78 lines
Diff to previous 1.55.2.6 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored) to selected 1.16 (colored)

sync with head

Revision 1.66.6.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:40 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.66.6.1: +84 -85 lines
Diff to previous 1.66.6.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored) to selected 1.16 (colored)

sync with HEAD

Revision 1.69.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:38 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.69: +80 -76 lines
Diff to previous 1.69 (colored) next main 1.70 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.70 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:17 2008 UTC (16 years, 2 months ago) by ad
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, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2
Changes since 1.69: +82 -78 lines
Diff to previous 1.69 (colored) to selected 1.16 (colored)

Merge vmlocking2 to head.

Revision 1.67.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:45 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.67: +4 -9 lines
Diff to previous 1.67 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.55.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:35:26 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.55.2.5: +4 -9 lines
Diff to previous 1.55.2.5 (colored) to branchpoint 1.55 (colored) to selected 1.16 (colored)

sync with head

Revision 1.69.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:04:00 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.69: +82 -78 lines
Diff to previous 1.69 (colored) next main 1.70 (colored) to selected 1.16 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.66.4.2 / (download) - annotate - [select for diffs], Mon Dec 3 16:15:25 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.66.4.1: +4 -9 lines
Diff to previous 1.66.4.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.69 / (download) - annotate - [select for diffs], Sat Dec 1 10:40:28 2007 UTC (16 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.68: +1 -1 lines
Diff to previous 1.68 (colored) to selected 1.16 (colored)

constify pagerops.

Revision 1.68 / (download) - annotate - [select for diffs], Sat Dec 1 10:18:21 2007 UTC (16 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.67: +3 -8 lines
Diff to previous 1.67 (colored) to selected 1.16 (colored)

use designated initiaizers for uvm_pagerops.

Revision 1.66.6.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:35:29 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.66: +2 -4 lines
Diff to previous 1.66 (colored) to selected 1.16 (colored)

sync with HEAD

Revision 1.65.4.3 / (download) - annotate - [select for diffs], Thu Nov 1 23:06:00 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.65.4.2: +4 -3 lines
Diff to previous 1.65.4.2 (colored) to branchpoint 1.65 (colored) next main 1.66 (colored) to selected 1.16 (colored)

Yielding to avoid livelock doesn't work well, so just sleep for 1 tick.
This too is inadequate and a better solution must be found. Discussed
with yamt@.

Revision 1.55.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:54 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.55.2.4: +2 -4 lines
Diff to previous 1.55.2.4 (colored) to branchpoint 1.55 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.66.4.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:49:41 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.66: +2 -4 lines
Diff to previous 1.66 (colored) to selected 1.16 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.66.8.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:49:25 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.66: +2 -4 lines
Diff to previous 1.66 (colored) next main 1.67 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.67 / (download) - annotate - [select for diffs], Thu Oct 11 19:53:43 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs
Changes since 1.66: +2 -4 lines
Diff to previous 1.66 (colored) to selected 1.16 (colored)

Remove LOCK_ASSERT(!simple_lock_held(&foo));

Revision 1.55.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:47:07 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.55.2.3: +4 -4 lines
Diff to previous 1.55.2.3 (colored) to branchpoint 1.55 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.65.12.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:51:21 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.65: +4 -4 lines
Diff to previous 1.65 (colored) next main 1.66 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.66.10.2 / (download) - annotate - [select for diffs], Sat Jul 21 19:21:55 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.66.10.1: +1189 -0 lines
Diff to previous 1.66.10.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored) to selected 1.16 (colored)

Merge unobtrusive locking changes from the vmlocking branch.

Revision 1.66.10.1, Sat Jul 21 19:21:54 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.66: +0 -1189 lines
FILE REMOVED

file uvm_loan.c was added on branch matt-mips64 on 2007-07-21 19:21:55 +0000

Revision 1.66 / (download) - annotate - [select for diffs], Sat Jul 21 19:21:54 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5, matt-mips64-base, hpcarm-cleanup
Branch point for: yamt-x86pmap, matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.65: +4 -4 lines
Diff to previous 1.65 (colored) to selected 1.16 (colored)

Merge unobtrusive locking changes from the vmlocking branch.

Revision 1.65.4.2 / (download) - annotate - [select for diffs], Tue Jul 3 13:14:03 2007 UTC (16 years, 9 months ago) by yamt
Branch: vmlocking
Changes since 1.65.4.1: +3 -2 lines
Diff to previous 1.65.4.1 (colored) to branchpoint 1.65 (colored) to selected 1.16 (colored)

if wrong-order trylocking failed, avoid livelock by yielding cpu
before retrying.  ok'ed by Andrew Doran.

Revision 1.65.4.1 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:55 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.65: +82 -82 lines
Diff to previous 1.65 (colored) to selected 1.16 (colored)

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

Revision 1.63.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:55:26 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.63: +7 -7 lines
Diff to previous 1.63 (colored) next main 1.64 (colored) to selected 1.16 (colored)

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

Revision 1.55.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:29 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.55.2.2: +7 -7 lines
Diff to previous 1.55.2.2 (colored) to branchpoint 1.55 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.65 / (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-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, nick-csl-alignment-base, mjf-ufs-trans-base, mjf-ufs-trans, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, nick-csl-alignment
Changes since 1.64: +6 -6 lines
Diff to previous 1.64 (colored) to selected 1.16 (colored)

TRUE -> true, FALSE -> false

Revision 1.64 / (download) - annotate - [select for diffs], Wed Feb 21 23:00:13 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.63: +3 -3 lines
Diff to previous 1.63 (colored) to selected 1.16 (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.59.8.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:25 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.59.8.1: +8 -15 lines
Diff to previous 1.59.8.1 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored) to selected 1.16 (colored)

Sync with head.

Revision 1.55.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.55.2.1: +23 -21 lines
Diff to previous 1.55.2.1 (colored) to branchpoint 1.55 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.59.10.3 / (download) - annotate - [select for diffs], Mon Dec 18 11:42:27 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.59.10.2: +8 -15 lines
Diff to previous 1.59.10.2 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.63 / (download) - annotate - [select for diffs], Fri Dec 15 13:51:30 2006 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.62: +8 -15 lines
Diff to previous 1.62 (colored) to selected 1.16 (colored)

put ->K loaned pages on the page queue, so that page loaning doesn't
disturb pagedaemon/pdpolicy.

Revision 1.59.10.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:33 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.59.10.1: +3 -4 lines
Diff to previous 1.59.10.1 (colored) to branchpoint 1.59 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.59.8.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:50 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.59: +17 -8 lines
Diff to previous 1.59 (colored) to selected 1.16 (colored)

Sync with head.

Revision 1.62 / (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-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
Changes since 1.61: +1 -2 lines
Diff to previous 1.61 (colored) to selected 1.16 (colored)

remove some __unused from function parameters.

Revision 1.59.10.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:52 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.59: +19 -9 lines
Diff to previous 1.59 (colored) to selected 1.16 (colored)

sync with head

Revision 1.61 / (download) - annotate - [select for diffs], Sat Oct 14 09:23:56 2006 UTC (17 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.60: +17 -8 lines
Diff to previous 1.60 (colored) to selected 1.16 (colored)

uvm_loanbreak: transfer dirtiness of the old page to the new page,
rather than blindly mark it dirty.  fix a part of PR/33513.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:52 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.59: +4 -3 lines
Diff to previous 1.59 (colored) to selected 1.16 (colored)

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

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 03:00:13 2006 UTC (17 years, 6 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.16 (colored)

sync with head

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

sync with head.

Revision 1.58.10.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:48 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.58: +1 -0 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.16 (colored)

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

Revision 1.58.6.1 / (download) - annotate - [select for diffs], Wed May 24 10:59:30 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.58.4.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:29 2006 UTC (17 years, 11 months ago) by simonb
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.16 (colored)

Sync with head.

Revision 1.58.8.1 / (download) - annotate - [select for diffs], Wed Apr 19 03:58:21 2006 UTC (17 years, 11 months ago) by elad
Branch: elad-kernelauth
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.16 (colored)

oops - *really* sync to head this time.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Apr 18 09:56:16 2006 UTC (17 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored) to selected 1.16 (colored)

from Christian Ehrhardt:
* uvm_loanzero may call uvm_analloc which will return with anon->an_lock
  locked. This lock is never dropped by uvm_loanzero and AFAICS the caller
  doesn't drop it either.

Revision 1.57.2.1 / (download) - annotate - [select for diffs], Wed Feb 1 14:52:48 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.57: +14 -14 lines
Diff to previous 1.57 (colored) next main 1.58 (colored) to selected 1.16 (colored)

sync with head.

Revision 1.58 / (download) - annotate - [select for diffs], Tue Jan 31 14:11:25 2006 UTC (18 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.57: +14 -14 lines
Diff to previous 1.57 (colored) to selected 1.16 (colored)

handle "strange" filesystems like layered filesystems and tmpfs,
where pgo_get returns pages which don't belong to the uobj.
also fix an XXX in uvm_loananon and lock-unlock mismatch in uvm_loanuobj.

PR/28372, PR/32665 (Alan Barrett).

Revision 1.57 / (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
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored) to selected 1.16 (colored)

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

Revision 1.56 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:29 2005 UTC (18 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored) to selected 1.16 (colored)

merge ktrace-lwp.

Revision 1.42.2.5 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:39 2005 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.42.2.4: +21 -46 lines
Diff to previous 1.42.2.4 (colored) next main 1.43 (colored) to selected 1.16 (colored)

Sync with HEAD. Here we go again...

Revision 1.55 / (download) - annotate - [select for diffs], Tue Jun 28 04:06:52 2005 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Branch point for: yamt-lazymbuf
Changes since 1.54: +5 -2 lines
Diff to previous 1.54 (colored) to selected 1.16 (colored)

Make a note about why a large function like uvm_loanentry() can be
an inline in this case.

Revision 1.54 / (download) - annotate - [select for diffs], Mon Jun 27 02:19:48 2005 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.53: +13 -41 lines
Diff to previous 1.53 (colored) to selected 1.16 (colored)

Use ANSI function decls.

Revision 1.53 / (download) - annotate - [select for diffs], Wed May 11 13:02:25 2005 UTC (18 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.52: +7 -7 lines
Diff to previous 1.52 (colored) to selected 1.16 (colored)

allocate anons on-demand, rather than reserving static amount of
them on boot/swapon.

Revision 1.42.2.4 / (download) - annotate - [select for diffs], Mon Nov 29 07:25:05 2004 UTC (19 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.42.2.3: +129 -33 lines
Diff to previous 1.42.2.3 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Nov 23 04:51:56 2004 UTC (19 years, 4 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.51: +34 -4 lines
Diff to previous 1.51 (colored) to selected 1.16 (colored)

introduce UVMHIST_LOANHIST and sprinkle UVMHIST_LOGs.

Revision 1.51 / (download) - annotate - [select for diffs], Sun Nov 21 06:45:49 2004 UTC (19 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.50: +97 -31 lines
Diff to previous 1.50 (colored) to selected 1.16 (colored)

- prevent wired pages from being loaned, rather than just panicking.
  caller should take care of failure by eg. falling back to dumb copy.
  PR/23285.
- add some related assertions.

Revision 1.42.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:39:27 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.42.2.2: +2 -2 lines
Diff to previous 1.42.2.2 (colored) to selected 1.16 (colored)

Fix the sync with head I botched.

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

Sync with HEAD.

Revision 1.42.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:57:06 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.42: +134 -23 lines
Diff to previous 1.42 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.50 / (download) - annotate - [select for diffs], Wed Mar 24 07:50:48 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.49: +14 -14 lines
Diff to previous 1.49 (colored) to selected 1.16 (colored)

- Nuke __P().
- Drop trailing spaces.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Feb 13 17:17:04 2004 UTC (20 years, 1 month ago) by drochner
Branch: MAIN
Changes since 1.48: +4 -2 lines
Diff to previous 1.48 (colored) to selected 1.16 (colored)

make this compile whether DIAGNOSTIC is defined or not

Revision 1.48 / (download) - annotate - [select for diffs], Fri Feb 13 13:47:16 2004 UTC (20 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.47: +8 -6 lines
Diff to previous 1.47 (colored) to selected 1.16 (colored)

when breaking a loan from uobj,
insert the replacement page into the same position
as the original page on the object memq so that
genfs_putpages (and lfs) won't be confused.

noted by Stephan Uphoff (PR/24328)

Revision 1.47 / (download) - annotate - [select for diffs], Fri Feb 13 11:15:30 2004 UTC (20 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.46: +3 -2 lines
Diff to previous 1.46 (colored) to selected 1.16 (colored)

uvm_loanentry: add a missing uvmfault_unlockall.

Revision 1.46 / (download) - annotate - [select for diffs], Fri Jan 30 12:01:27 2004 UTC (20 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 (colored) to selected 1.16 (colored)

uvm_loanuobjpages: fix a comment.

Revision 1.45 / (download) - annotate - [select for diffs], Wed Jan 7 12:17:10 2004 UTC (20 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.44: +108 -7 lines
Diff to previous 1.44 (colored) to selected 1.16 (colored)

- get pages to loan out in uvm_loanuobjpages() rather than
  having caller (nfsd, in this case) do so.
- tweak locking so that nfs loaned READ works on layered filesystems.

Revision 1.44 / (download) - annotate - [select for diffs], Mon Oct 27 12:47:33 2003 UTC (20 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.43: +8 -3 lines
Diff to previous 1.43 (colored) to selected 1.16 (colored)

uvm_loanzero:
- after sleeping for memory, re-check if we have a page.
- put the allocated page to pageq to appease UVM_PAGE_TRKOWN.
- dequeue the page when doing ->K loan.

Revision 1.43 / (download) - annotate - [select for diffs], Sun Oct 26 16:04:00 2003 UTC (20 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored) to selected 1.16 (colored)

whitespace.

Revision 1.42 / (download) - annotate - [select for diffs], Sat May 3 17:54:32 2003 UTC (20 years, 11 months ago) by yamt
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.41: +111 -14 lines
Diff to previous 1.41 (colored) to selected 1.16 (colored)

- export raw page loan out routine as uvm_loanuobjpages. (for nfsd)
- put code for loan-breaking into a function, uvm_loanbreak.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Mar 5 01:52:41 2003 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.40: +55 -2 lines
Diff to previous 1.40 (colored) to selected 1.16 (colored)

Implement a minimal pager for the uvm_loanzero_object, which simply has
a "put" method which reactivates or dequeues the page.

Need for pager pointed out by enami tsugutomo.

Revision 1.40 / (download) - annotate - [select for diffs], Tue Mar 4 06:18:54 2003 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.39: +68 -43 lines
Diff to previous 1.39 (colored) to selected 1.16 (colored)

Fix the following pathological scanario:
* User allocates ZFOD region, but does not actually touch the buffer
  to fault in the pages.
* In a loop, user writes this buffer to a network socket, triggering
  sosend_loan().
* uvm_loan() calls uvm_loanzero() once for each page in the loaned
  region (since the pages have not yet faulted in).  This causes a
  page to be allocated and zero'd.  The result is the kernel spends
  a lot of time allocating and zero'ing pages.

This fixes creates a special object which owns a single zero'd page.
This single zero'd page is used to satisfy all loans of non-resident
ZFOD mappings.

Thanks to Allen Briggs for discovering the problem and for providing
an initial patch.

Revision 1.29.2.5 / (download) - annotate - [select for diffs], Fri Sep 6 08:50:24 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.29.2.4: +5 -2 lines
Diff to previous 1.29.2.4 (colored) next main 1.30 (colored) to selected 1.16 (colored)

sync kqueue branch with HEAD

Revision 1.23.2.9 / (download) - annotate - [select for diffs], Thu Aug 1 02:47:07 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.23.2.8: +5 -2 lines
Diff to previous 1.23.2.8 (colored) next main 1.24 (colored) to selected 1.16 (colored)

Catch up to -current.

Revision 1.37.2.2 / (download) - annotate - [select for diffs], Mon Jul 15 10:37:33 2002 UTC (21 years, 8 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.37.2.1: +5 -2 lines
Diff to previous 1.37.2.1 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored) to selected 1.16 (colored)

catch up with -current.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Jul 14 23:53:41 2002 UTC (21 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, fvdl_fs64_base
Changes since 1.38: +5 -2 lines
Diff to previous 1.38 (colored) to selected 1.16 (colored)

when dropping a kernel loan, if this was the last loan-to-kernel but
the page is still loaned to an anon, we should put the page back on a
paging queue.  this is because while pages loaned to the kernel really
do need to stay resident (since the kernel is accessing the physical
memory directly), pages loaned to anons can be paged out just fine.
(the page will be paged out twice, first to the object and then again
to the anon, but after that the page can be reused.)

Revision 1.29.2.4 / (download) - annotate - [select for diffs], Sun Jun 23 17:52:17 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.29.2.3: +8 -4 lines
Diff to previous 1.29.2.3 (colored) to selected 1.16 (colored)

catch up with -current on kqueue branch

Revision 1.23.2.8 / (download) - annotate - [select for diffs], Thu Jun 20 03:50:41 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23.2.7: +8 -4 lines
Diff to previous 1.23.2.7 (colored) to selected 1.16 (colored)

Catch up to -current.

Revision 1.37.4.1 / (download) - annotate - [select for diffs], Sat Jun 1 22:43:35 2002 UTC (21 years, 10 months ago) by tv
Branch: netbsd-1-6
CVS Tags: 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
Changes since 1.37: +4 -2 lines
Diff to previous 1.37 (colored) next main 1.38 (colored) to selected 1.16 (colored)

Pull up revision 1.38 (requested by enami in ticket #114):
Add missing pageq lock while uvm_pagefree() is called (either directly
or indirectly).  Reviewed by chuq.

Revision 1.37.2.1 / (download) - annotate - [select for diffs], Thu May 30 13:52:44 2002 UTC (21 years, 10 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.37: +4 -2 lines
Diff to previous 1.37 (colored) to selected 1.16 (colored)

Catch up with -current.

Revision 1.38 / (download) - annotate - [select for diffs], Wed May 29 11:04:39 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
Changes since 1.37: +4 -2 lines
Diff to previous 1.37 (colored) to selected 1.16 (colored)

Add missing pageq lock while uvm_pagefree() is called (either directly
or indirectly).  Reviewed by chuq.

Revision 1.37 / (download) - annotate - [select for diffs], Tue May 7 02:29:52 2002 UTC (21 years, 10 months ago) by enami
Branch: MAIN
CVS Tags: netbsd-1-6-base
Branch point for: netbsd-1-6, gehenna-devsw
Changes since 1.36: +6 -4 lines
Diff to previous 1.36 (colored) to selected 1.16 (colored)

Fetch the right page from a file even if it is mapped from middle of it.
This makes `tail -<N> <FILE> | cat > file' correctly, where <FILE> is
a regular file larger than 10Mbytes (makes tail to map part of file)
and <N> is big enough to produce output larger than 8kbytes (makes pipe
to use page loan facility).  Problem reported by FUKAUMI Naoki on japanese
local mailing list.

Revision 1.29.2.3 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:37 2002 UTC (22 years, 2 months ago) by thorpej
Branch: kqueue
Changes since 1.29.2.2: +183 -145 lines
Diff to previous 1.29.2.2 (colored) to selected 1.16 (colored)

Sync kqueue branch with -current.

Revision 1.23.2.7 / (download) - annotate - [select for diffs], Tue Jan 8 00:35:02 2002 UTC (22 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23.2.6: +41 -8 lines
Diff to previous 1.23.2.6 (colored) to selected 1.16 (colored)

Catch up to -current.

Revision 1.36 / (download) - annotate - [select for diffs], Mon Dec 31 19:21:36 2001 UTC (22 years, 3 months ago) by chs
Branch: MAIN
CVS Tags: newlock-base, newlock, ifpoll-base, eeh-devprop-base, eeh-devprop
Changes since 1.35: +41 -8 lines
Diff to previous 1.35 (colored) to selected 1.16 (colored)

fix locking for loaning.  in general we should be looking at the page's
uobject and uanon pointers rather than at the PQ_ANON flag to determine
which lock to hold, since PQ_ANON can be clear even when the anon's lock
is the one which we should hold (if the page was loaned from an object
and then freed by the object).

Revision 1.23.2.6 / (download) - annotate - [select for diffs], Wed Nov 14 19:19:06 2001 UTC (22 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23.2.5: +144 -151 lines
Diff to previous 1.23.2.5 (colored) to selected 1.16 (colored)

Catch up to -current.

Revision 1.33.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:54 2001 UTC (22 years, 4 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.33: +144 -151 lines
Diff to previous 1.33 (colored) next main 1.34 (colored) to selected 1.16 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Nov 10 07:37:00 2001 UTC (22 years, 4 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.34: +4 -1 lines
Diff to previous 1.34 (colored) to selected 1.16 (colored)

add RCSIDs, and in some cases, slightly cleanup #include order

Revision 1.34 / (download) - annotate - [select for diffs], Tue Nov 6 08:07:50 2001 UTC (22 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.33: +141 -151 lines
Diff to previous 1.33 (colored) to selected 1.16 (colored)

several changes prompted by loaning problems:
 - fix the loaned case in uvm_pagefree().
 - redo uvmexp.swpgonly accounting to work with page loaning.
   add an assertion before each place we adjust uvmexp.swpgonly.
 - fix uvm_km_pgremove() to always free any swap space associated with
   the range being removed.
 - get rid of UVM_LOAN_WIRED flag.  instead, we just make sure that
   pages loaned to the kernel are never on the page queues.
   this allows us to assert that pages are not loaned and wired
   at the same time.
 - add yet more assertions.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:41 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.31: +43 -31 lines
Diff to previous 1.31 (colored) next main 1.32 (colored) to selected 1.16 (colored)

Catch up with -current.

Revision 1.23.2.5 / (download) - annotate - [select for diffs], Wed Sep 26 19:55:15 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23.2.4: +39 -16 lines
Diff to previous 1.23.2.4 (colored) to selected 1.16 (colored)

Catch up to -current.
Again.

Revision 1.33 / (download) - annotate - [select for diffs], Sat Sep 22 05:58:04 2001 UTC (22 years, 6 months ago) by jdolecek
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2
Branch point for: thorpej-mips-cache
Changes since 1.32: +39 -16 lines
Diff to previous 1.32 (colored) to selected 1.16 (colored)

add new UVM_LOAN_WIRED flag - the memory pages loaned in TOPAGE case
are only wired if this flag is present (i.e. they are not wired by default now)
loaned pages are unloaned via new uvm_unloan(), uvm_unloananon() and
uvm_unloanpage() are no longer exported
adjust uvm_unloanpage() to unwire the pages if UVM_LOAN_WIRED is specified
mark uvm_loanuobj() and uvm_loanzero() static also in function implementation

kern/sys_pipe.c: uvm_unloanpage() --> uvm_unloan()

Revision 1.23.2.4 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:14 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23.2.3: +18 -29 lines
Diff to previous 1.23.2.3 (colored) to selected 1.16 (colored)

Catch up to -current.

Revision 1.32 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:46 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.31: +5 -16 lines
Diff to previous 1.31 (colored) to selected 1.16 (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.29.2.2 / (download) - annotate - [select for diffs], Thu Sep 13 01:16:32 2001 UTC (22 years, 6 months ago) by thorpej
Branch: kqueue
Changes since 1.29.2.1: +14 -14 lines
Diff to previous 1.29.2.1 (colored) to selected 1.16 (colored)

Update the kqueue branch to HEAD.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Aug 27 02:34:29 2001 UTC (22 years, 7 months ago) by chuck
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp
Changes since 1.30: +14 -14 lines
Diff to previous 1.30 (colored) to selected 1.16 (colored)

handle a locking problem where the second (or later) call in the loanentry
loop returns 0.   loanentry was returning >0, but was unlocking the maps
(because of the zero).   reworked to avoid this.  problem reported by
chuck silvers.   also clarify a comment that jdolecek asked about.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Sat Aug 25 06:17:21 2001 UTC (22 years, 7 months ago) by thorpej
Branch: kqueue
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored) to selected 1.16 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.23.2.3 / (download) - annotate - [select for diffs], Fri Aug 24 00:13:37 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23.2.2: +2 -2 lines
Diff to previous 1.23.2.2 (colored) to selected 1.16 (colored)

Catch up with -current.

Revision 1.30 / (download) - annotate - [select for diffs], Sat Aug 18 05:51:44 2001 UTC (22 years, 7 months ago) by chs
Branch: MAIN
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored) to selected 1.16 (colored)

when fetching an object page to loan out, do so synchronously.

Revision 1.23.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 20:10:32 2001 UTC (22 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23.2.1: +64 -46 lines
Diff to previous 1.23.2.1 (colored) to selected 1.16 (colored)

Catch up to -current.

Revision 1.29 / (download) - annotate - [select for diffs], Fri May 25 04:06:14 2001 UTC (22 years, 10 months ago) by chs
Branch: MAIN
Branch point for: kqueue
Changes since 1.28: +23 -23 lines
Diff to previous 1.28 (colored) to selected 1.16 (colored)

remove trailing whitespace.

Revision 1.19.2.5 / (download) - annotate - [select for diffs], Sat Apr 21 17:47:06 2001 UTC (22 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19.2.4: +46 -25 lines
Diff to previous 1.19.2.4 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored) to selected 1.16 (colored)

Sync with HEAD

Revision 1.28 / (download) - annotate - [select for diffs], Tue Apr 10 00:53:21 2001 UTC (22 years, 11 months ago) by chuck
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.27: +45 -24 lines
Diff to previous 1.27 (colored) to selected 1.16 (colored)

fix locking problem noted by Jaromir Dolecek.   also, add more comments
on locking rules to make code easier to understand.   locking in
uvm_loananon still needs some work on fringe cases where anon's page
is actually on loan from a uobj.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Apr 9 06:21:03 2001 UTC (22 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.26: +2 -5 lines
Diff to previous 1.26 (colored) to selected 1.16 (colored)

Upon Chuck Cranor request, revert rev. 1.26. There is indeed a bug in way
locking is done, but this fix is not the right way to fix it.

Revision 1.23.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:59:16 2001 UTC (22 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.23: +27 -26 lines
Diff to previous 1.23 (colored) to selected 1.16 (colored)

Catch up with -current.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Apr 8 16:51:51 2001 UTC (22 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.25: +6 -3 lines
Diff to previous 1.25 (colored) to selected 1.16 (colored)

Remove superflous uvmfault_unlockmaps() in uvm_loan(), only call it
if uvm_loanentry() returned 0; otherwise, the unlocking would already
have been done by uvmfault_unlockall() call in  uvm_loanentry().
Okay'ed by Chuck Silvers

Revision 1.19.2.4 / (download) - annotate - [select for diffs], Tue Mar 27 15:32:49 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19.2.3: +13 -15 lines
Diff to previous 1.19.2.3 (colored) to branchpoint 1.19 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.25 / (download) - annotate - [select for diffs], Thu Mar 15 06:10:57 2001 UTC (23 years ago) by chs
Branch: MAIN
Changes since 1.24: +13 -15 lines
Diff to previous 1.24 (colored) to selected 1.16 (colored)

eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

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

Revision 1.19.2.3 / (download) - annotate - [select for diffs], Mon Mar 12 13:32:11 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19.2.2: +11 -11 lines
Diff to previous 1.19.2.2 (colored) to branchpoint 1.19 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Mar 10 22:46:49 2001 UTC (23 years ago) by chs
Branch: MAIN
Changes since 1.23: +11 -11 lines
Diff to previous 1.23 (colored) to selected 1.16 (colored)

eliminate the VM_PAGER_* error codes in favor of the traditional E* codes.
the mapping is:

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

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

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:49 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19.2.1: +13 -4 lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored) to selected 1.16 (colored)

Sync with HEAD.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Jan 23 02:27:39 2001 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.22: +13 -4 lines
Diff to previous 1.22 (colored) to selected 1.16 (colored)

Change uvm_analloc() to return a locked anon, update all callers,
and fix an anon locking protocol error in uvm_loanzero().

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:12:01 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.19: +6 -11 lines
Diff to previous 1.19 (colored) to selected 1.16 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.22 / (download) - annotate - [select for diffs], Tue Jun 27 17:29:25 2000 UTC (23 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.21: +1 -3 lines
Diff to previous 1.21 (colored) to selected 1.16 (colored)

remove include of <vm/vm.h>

Revision 1.21 / (download) - annotate - [select for diffs], Mon Jun 26 14:21:18 2000 UTC (23 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.20: +1 -3 lines
Diff to previous 1.20 (colored) to selected 1.16 (colored)

remove/move more mach vm header files:

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

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

Revision 1.20 / (download) - annotate - [select for diffs], Mon Apr 10 00:32:46 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.19: +6 -7 lines
Diff to previous 1.19 (colored) to selected 1.16 (colored)

Use UVM_PGA_ZERO in a few (easy) places.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Sep 12 01:17:36 1999 UTC (24 years, 6 months ago) by chs
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
Branch point for: thorpej_scsipi
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored) to selected 1.16 (colored)

eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Jul 22 22:58:38 1999 UTC (24 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.17: +6 -6 lines
Diff to previous 1.17 (colored) to selected 1.16 (colored)

Garbage collect thread_sleep()/thread_wakeup() left over from the old
Mach VM code.  Also nuke iprintf(), which was no longer used anywhere.

Add proclist locking where appropriate.

Revision 1.14.2.1.2.2 / (download) - annotate - [select for diffs], Mon Jun 21 01:47:20 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.14.2.1.2.1: +17 -7 lines
Diff to previous 1.14.2.1.2.1 (colored) to branchpoint 1.14.2.1 (colored) next main 1.15 (colored) to selected 1.16 (colored)

Sync w/ -current.

Revision 1.14.2.1.2.1 / (download) - annotate - [select for diffs], Mon Jun 7 04:25:36 1999 UTC (24 years, 9 months ago) by chs
Branch: chs-ubc2
Changes since 1.14.2.1: +6 -6 lines
Diff to previous 1.14.2.1 (colored) to selected 1.16 (colored)

merge everything from chs-ubc branch.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Jun 3 00:05:45 1999 UTC (24 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.16: +6 -1 lines
Diff to previous 1.16 (colored)

Just say no to interrupt-safe maps.

Revision 1.16 / (download) - annotate - [selected], Thu May 27 21:50:03 1999 UTC (24 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.15: +12 -7 lines
Diff to previous 1.15 (colored)

Change the main comment block to indicate why PMAP_NEW (specifically,
pmap_kenter*()) is not required for {O,A}->K page loans.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Fri Apr 16 16:29:09 1999 UTC (24 years, 11 months ago) by chs
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored) next main 1.15 (colored) to selected 1.16 (colored)

pull up 1.14 -> 1.15:
add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Apr 11 04:04:11 1999 UTC (24 years, 11 months ago) by chs
Branch: MAIN
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored) to selected 1.16 (colored)

add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Mar 25 18:48:52 1999 UTC (25 years ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base
Branch point for: netbsd-1-4
Changes since 1.13: +1 -5 lines
Diff to previous 1.13 (colored) to selected 1.16 (colored)

remove now >1 year old pre-release message.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Thu Feb 25 04:14:12 1999 UTC (25 years, 1 month ago) by chs
Branch: chs-ubc
Changes since 1.12.2.1: +6 -6 lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored) to selected 1.16 (colored)

thread_wakeup() -> wakeup().

Revision 1.13 / (download) - annotate - [select for diffs], Sun Jan 24 23:53:15 1999 UTC (25 years, 2 months ago) by chuck
Branch: MAIN
Changes since 1.12: +5 -5 lines
Diff to previous 1.12 (colored) to selected 1.16 (colored)

cleanup/reorg:
- break anon related functions out of uvm_amap.c and put them in their own
  file (uvm_anon.c).  includes break up uvm_anon_init into an amap and an
  an anon init function
- ensure that only functions within the amap module access amap structure
  fields (add macros to amap api as needed)

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Mon Nov 9 06:06:38 1998 UTC (25 years, 4 months ago) by chs
Branch: chs-ubc
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored) to selected 1.16 (colored)

initial snapshot.  lots left to do.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Nov 4 07:07:22 1998 UTC (25 years, 5 months ago) by chs
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base
Branch point for: chs-ubc
Changes since 1.11: +5 -6 lines
Diff to previous 1.11 (colored) to selected 1.16 (colored)

be consistent with locking of amaps and anons when freeing them.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Oct 18 23:50:00 1998 UTC (25 years, 5 months ago) by chs
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored) to selected 1.16 (colored)

shift by PAGE_SHIFT instead of multiplying or dividing by PAGE_SIZE.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Oct 11 23:16:20 1998 UTC (25 years, 5 months ago) by chuck
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored) to selected 1.16 (colored)

remove unused share map code from UVM:
 - update uvm_faultinfo's rvaddr to orig_rvaddr to match changes from
	uvm_fault.h

Revision 1.9 / (download) - annotate - [select for diffs], Thu Aug 13 02:11:01 1998 UTC (25 years, 7 months ago) by eeh
Branch: MAIN
Changes since 1.8: +7 -7 lines
Diff to previous 1.8 (colored) to selected 1.16 (colored)

Merge paddr_t changes into the main branch.

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

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

Revision 1.8 / (download) - annotate - [select for diffs], Tue May 5 20:51:06 1998 UTC (25 years, 10 months ago) by kleink
Branch: MAIN
CVS Tags: eeh-paddr_t-base
Branch point for: eeh-paddr_t
Changes since 1.7: +1 -4 lines
Diff to previous 1.7 (colored) to selected 1.16 (colored)

Remove inclusions of syscall (and syscall argument) related header files;
we don't need them here.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Mar 22 21:29:30 1998 UTC (26 years ago) by chuck
Branch: MAIN
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored) to selected 1.16 (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:57 1998 UTC (26 years ago) by mrg
Branch: MAIN
Changes since 1.5: +524 -521 lines
Diff to previous 1.5 (colored) to selected 1.16 (colored)

KNF.

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

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

Revision 1.4 / (download) - annotate - [select for diffs], Sat Feb 7 11:08:51 1998 UTC (26 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored) to selected 1.16 (colored)

restore rcsids

Revision 1.3 / (download) - annotate - [select for diffs], Sat Feb 7 02:17:48 1998 UTC (26 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.2: +7 -7 lines
Diff to previous 1.2 (colored) to selected 1.16 (colored)

fix typoes in locking.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 6 22:31:58 1998 UTC (26 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored) to selected 1.16 (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, 1 month ago) by mrg
Branch: CDC
CVS Tags: uvm980205
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.16 (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, 1 month ago) by mrg
Branch: MAIN
Diff to selected 1.16 (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>