The NetBSD Project

CVS log for src/sys/miscfs/genfs/genfs_io.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.103 / (download) - annotate - [select for diffs], Sun Apr 9 12:26:36 2023 UTC (11 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.102: +6 -4 lines
Diff to previous 1.102 (colored) to selected 1.80 (colored)

genfs: KASSERT(A && B) -> KASSERT(A); KASSERT(B)

Revision 1.102 / (download) - annotate - [select for diffs], Fri Jan 14 21:59:50 2022 UTC (2 years, 2 months ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.101: +4 -11 lines
Diff to previous 1.101 (colored) to selected 1.80 (colored)

genfs(9): Prune dead branch.

Revision 1.101 / (download) - annotate - [select for diffs], Wed Aug 19 07:29:00 2020 UTC (3 years, 7 months ago) by simonb
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.100: +4 -4 lines
Diff to previous 1.100 (colored) to selected 1.80 (colored)

Remove trailing \n from UVMHIST_LOG() format strings.

Revision 1.100 / (download) - annotate - [select for diffs], Fri Aug 14 09:06:14 2020 UTC (3 years, 7 months ago) by chs
Branch: MAIN
Changes since 1.99: +11 -19 lines
Diff to previous 1.99 (colored) to selected 1.80 (colored)

centralize calls from UVM to radixtree into a few functions.
in those functions, assert that the object lock is held in
the correct mode.

Revision 1.99 / (download) - annotate - [select for diffs], Mon Aug 10 11:09:15 2020 UTC (3 years, 7 months ago) by rin
Branch: MAIN
Changes since 1.98: +3 -3 lines
Diff to previous 1.98 (colored) to selected 1.80 (colored)

Output offsets in hex for UVMHIST.

Revision 1.98 / (download) - annotate - [select for diffs], Sun Jun 14 00:25:22 2020 UTC (3 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.97: +8 -3 lines
Diff to previous 1.97 (colored) to selected 1.80 (colored)

genfs_putpages(): when building a cluster make use of pages in the in the
existing uvm_page_array.

Revision 1.97 / (download) - annotate - [select for diffs], Mon May 25 21:15:10 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.96: +5 -6 lines
Diff to previous 1.96 (colored) to selected 1.80 (colored)

- Alter the convention for uvm_page_array slightly, so the basic search
  parameters can't change part way through a search: move the "uobj" and
  "flags" arguments over to uvm_page_array_init() and store those with the
  array.

- With that, detect when it's not possible to find any more pages in the
  tree with the given search parameters, and avoid repeated tree lookups if
  the caller loops over uvm_page_array_fill_and_peek().

Revision 1.96 / (download) - annotate - [select for diffs], Sun May 17 19:38:16 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.95: +6 -11 lines
Diff to previous 1.95 (colored) to selected 1.80 (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.72.2.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:05 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.72.2.1: +344 -313 lines
Diff to previous 1.72.2.1 (colored) to branchpoint 1.72 (colored) next main 1.73 (colored) to selected 1.80 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.95 / (download) - annotate - [select for diffs], Sun Mar 22 18:32:41 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.94: +35 -13 lines
Diff to previous 1.94 (colored) to selected 1.80 (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.94 / (download) - annotate - [select for diffs], Tue Mar 17 18:31:38 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.93: +4 -4 lines
Diff to previous 1.93 (colored) to selected 1.80 (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.93 / (download) - annotate - [select for diffs], Sat Mar 14 20:45:23 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.92: +8 -35 lines
Diff to previous 1.92 (colored) to selected 1.80 (colored)

Make uvm_pagemarkdirty() responsible for putting vnodes onto the syncer
work list.  Proposed on tech-kern@.

Revision 1.92 / (download) - annotate - [select for diffs], Sat Mar 14 20:23:51 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.91: +5 -8 lines
Diff to previous 1.91 (colored) to selected 1.80 (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.91 / (download) - annotate - [select for diffs], Sat Mar 14 19:07:22 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.90: +2 -3 lines
Diff to previous 1.90 (colored) to selected 1.80 (colored)

Unused variable.

Revision 1.90 / (download) - annotate - [select for diffs], Sat Mar 14 18:08:39 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.89: +3 -4 lines
Diff to previous 1.89 (colored) to selected 1.80 (colored)

- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small
  functions: preempt_point() and preempt_needed().

- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of
  any priority boost gained earlier from blocking.

Revision 1.89 / (download) - annotate - [select for diffs], Sat Mar 14 15:34:24 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.88: +5 -5 lines
Diff to previous 1.88 (colored) to selected 1.80 (colored)

OR into bp->b_cflags; don't overwrite.

Revision 1.83.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:04 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.83.2.1: +58 -51 lines
Diff to previous 1.83.2.1 (colored) to branchpoint 1.83 (colored) next main 1.84 (colored) to selected 1.80 (colored)

Sync with head.

Revision 1.88 / (download) - annotate - [select for diffs], Thu Feb 27 22:12:54 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.87: +3 -3 lines
Diff to previous 1.87 (colored) to selected 1.80 (colored)

Tighten up the locking around vp->v_iflag a little more after the recent
split of vmobjlock & v_interlock.

Revision 1.87 / (download) - annotate - [select for diffs], Mon Feb 24 20:49:51 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.86: +3 -3 lines
Diff to previous 1.86 (colored) to selected 1.80 (colored)

v_interlock -> vmobjlock

Revision 1.86 / (download) - annotate - [select for diffs], Sun Feb 23 15:46:41 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.85: +54 -42 lines
Diff to previous 1.85 (colored) to selected 1.80 (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.85 / (download) - annotate - [select for diffs], Tue Feb 18 20:23:17 2020 UTC (4 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.84: +5 -10 lines
Diff to previous 1.84 (colored) to selected 1.80 (colored)

remove the aiodoned thread.  I originally added this to provide a thread context
for doing page cache iodone work, but since then biodone() has changed to
hand off all iodone work to a softint thread, so we no longer need the
special-purpose aiodoned thread.

Revision 1.83.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:36 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.83: +175 -103 lines
Diff to previous 1.83 (colored) to selected 1.80 (colored)

Sync with head.

Revision 1.84 / (download) - annotate - [select for diffs], Wed Jan 15 17:55:44 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1
Changes since 1.83: +175 -103 lines
Diff to previous 1.83 (colored) to selected 1.80 (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.83 / (download) - annotate - [select for diffs], Tue Dec 31 22:42:50 2019 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.82: +10 -2 lines
Diff to previous 1.82 (colored) to selected 1.80 (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.82 / (download) - annotate - [select for diffs], Tue Dec 31 12:40:27 2019 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored) to selected 1.80 (colored)

Rename uvm_page_locked_p() -> uvm_page_owner_locked_p()

Revision 1.81 / (download) - annotate - [select for diffs], Mon Dec 16 18:17:32 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.80: +3 -2 lines
Diff to previous 1.80 (colored)

genfs_do_putpages(): add a missing call to uvm_page_array_advance().

Spotted by the automated test runs and:

Reported-by: syzbot+adc1f0ce21bcece5307d@syzkaller.appspotmail.com

Revision 1.80 / (download) - annotate - [selected], Mon Dec 16 08:50:42 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.79: +3 -2 lines
Diff to previous 1.79 (colored)

Correction to previous for DEBUG case.

Revision 1.79 / (download) - annotate - [select for diffs], Sun Dec 15 21:43:42 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.78: +10 -3 lines
Diff to previous 1.78 (colored) to selected 1.80 (colored)

Fix DEBUG build.

Revision 1.78 / (download) - annotate - [select for diffs], Sun Dec 15 21:11:34 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.77: +92 -140 lines
Diff to previous 1.77 (colored) to selected 1.80 (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.77 / (download) - annotate - [select for diffs], Fri Dec 13 20:10:21 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.76: +2 -14 lines
Diff to previous 1.76 (colored) to selected 1.80 (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.76 / (download) - annotate - [select for diffs], Sun Oct 6 05:48:00 2019 UTC (4 years, 5 months ago) by mlelstv
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.75: +7 -2 lines
Diff to previous 1.75 (colored) to selected 1.80 (colored)

Defer to synchronous I/O before the aiodone work queue exists.

Revision 1.75 / (download) - annotate - [select for diffs], Thu Jul 11 16:59:14 2019 UTC (4 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: 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
Changes since 1.74: +4 -4 lines
Diff to previous 1.74 (colored) to selected 1.80 (colored)

Fix (harmless) uninitialized variable: 'pg' could be 'endm', in which case
'pg->uobject' would not be initialized. Just invert the two last conditions
of the KASSERT.

ok hannken@

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:05 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.72: +20 -3 lines
Diff to previous 1.72 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.71.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 14:02:04 2018 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.71.2.1: +20 -3 lines
Diff to previous 1.71.2.1 (colored) to branchpoint 1.71 (colored) next main 1.72 (colored) to selected 1.80 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.74 / (download) - annotate - [select for diffs], Mon Dec 10 21:10:52 2018 UTC (5 years, 3 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, isaki-audio2-base, isaki-audio2
Changes since 1.73: +17 -2 lines
Diff to previous 1.73 (colored) to selected 1.80 (colored)

assert that WAPBL journal write lock is actually held when called with
PGO_JOURNALLOCKED or IO_JOURNALLOCKED

suggested by mrg@, thanks

Revision 1.73 / (download) - annotate - [select for diffs], Sun Dec 9 20:32:37 2018 UTC (5 years, 3 months ago) by jdolecek
Branch: MAIN
Changes since 1.72: +5 -3 lines
Diff to previous 1.72 (colored) to selected 1.80 (colored)

support flag PGO_JOURNALLOCKED also for genfs_getpages()

Revision 1.71.2.1 / (download) - annotate - [select for diffs], Mon Jun 25 07:26:05 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.71: +37 -3 lines
Diff to previous 1.71 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.72 / (download) - annotate - [select for diffs], Mon May 28 21:04:38 2018 UTC (5 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.71: +37 -3 lines
Diff to previous 1.71 (colored) to selected 1.80 (colored)

add a genfs method to allow a file system to limit the range of pages
that are given to a single GOP_WRITE() call.  needed by ZFS.

Revision 1.55.2.4 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:47 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.55.2.3: +218 -168 lines
Diff to previous 1.55.2.3 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored) to selected 1.80 (colored)

update from HEAD

Revision 1.68.6.3 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:52 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.68.6.2: +54 -50 lines
Diff to previous 1.68.6.2 (colored) to branchpoint 1.68 (colored) next main 1.69 (colored) to selected 1.80 (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.71 / (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-0521, 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.70: +54 -50 lines
Diff to previous 1.70 (colored) to selected 1.80 (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.58.6.3 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:08 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.58.6.2: +78 -47 lines
Diff to previous 1.58.6.2 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.68.6.2 / (download) - annotate - [select for diffs], Wed Jul 5 15:50:24 2017 UTC (6 years, 8 months ago) by martin
Branch: netbsd-8
Changes since 1.68.6.1: +9 -2 lines
Diff to previous 1.68.6.1 (colored) to branchpoint 1.68 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by hannken in ticket #84):
	sys/miscfs/genfs/genfs_io.c: revision 1.70
Add missing check for dead or dying vnode to the entry of genfs_getpages().

Revision 1.70 / (download) - annotate - [select for diffs], Tue Jun 27 08:40:53 2017 UTC (6 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.69: +9 -2 lines
Diff to previous 1.69 (colored) to selected 1.80 (colored)

Add missing check for dead or dying vnode to the entry of genfs_getpages().

Revision 1.68.6.1 / (download) - annotate - [select for diffs], Sun Jun 4 20:35:01 2017 UTC (6 years, 9 months ago) by bouyer
Branch: netbsd-8
Changes since 1.68: +5 -5 lines
Diff to previous 1.68 (colored) to selected 1.80 (colored)

pullup the following revisions, requested by hannken in ticket #2:
	src/share/man/man9/fstrans.9			1.25
	src/sys/kern/vfs_mount.c			1.66
	src/sys/kern/vfs_subr.c				1.468
	src/sys/kern/vfs_trans.c			1.46
	src/sys/kern/vfs_vnode.c			1.94, 1.95, 1.96
	src/sys/kern/vnode_if.c				1.105, 1.106
	src/sys/kern/vnode_if.sh			1.65, 1.66
	src/sys/kern/vnode_if.src			1.76
	src/sys/miscfs/genfs/genfs_io.c			1.69
	src/sys/miscfs/genfs/genfs_vnops.c		1.196, 1.197
	src/sys/miscfs/genfs/layer_extern.h		1.40
	src/sys/miscfs/genfs/layer_vfsops.c		1.51
	src/sys/miscfs/genfs/layer_vnops.c		1.67
	src/sys/miscfs/nullfs/null_vnops.c		1.42
	src/sys/miscfs/overlay/overlay_vnops.c		1.24
	src/sys/miscfs/umapfs/umap_vnops.c		1.60
	src/sys/rump/include/rump/rumpvnode_if.h	1.29, 1.30
	src/sys/rump/librump/rumpkern/emul.c		1.182
	src/sys/rump/librump/rumpvfs/rumpvnode_if.c	1.29, 1.30
	src/sys/sys/fstrans.h				1.11
	src/sys/sys/vnode.h				1.278
	src/sys/sys/vnode_if.h				1.100, 1.101
	src/sys/sys/vnode_impl.h			1.14, 1.15
	src/sys/ufs/lfs/lfs_pages.c			1.12

Vnode state, lock and fstrans cleanup:
- Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic
  state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.

- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.

- Cleanup the genfs lock operations.

- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.

- Remove the lock type argument from fstrans_start and
  fstrans_start_nowait,
  remove now unused FSTRANS state "FSTRANS_SUSPENDING".

Revision 1.69 / (download) - annotate - [select for diffs], Sun Jun 4 08:05:42 2017 UTC (6 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.68: +5 -5 lines
Diff to previous 1.68 (colored) to selected 1.80 (colored)

Operations fstrans_start() and fstrans_start_nowait() now always
use FSTRANS_SHARED as lock type so remove the lock type argument.

File system state FSTRANS_SUSPENDING is now unused so remove it.

Regen vnode_if files.

Ride 8.99.1 less than a hour ago.

Revision 1.61.2.3 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:27 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.61.2.2: +10 -9 lines
Diff to previous 1.61.2.2 (colored) to branchpoint 1.61 (colored) next main 1.62 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.63.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:03 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.63: +71 -47 lines
Diff to previous 1.63 (colored) next main 1.64 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.68 / (download) - annotate - [select for diffs], Sat Apr 1 23:34:17 2017 UTC (6 years, 11 months ago) by dholland
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, netbsd-8-base, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.67: +6 -2 lines
Diff to previous 1.67 (colored) to selected 1.80 (colored)

Clarify meaning of "glocked" argument of genfs_putpages_read.

Revision 1.67 / (download) - annotate - [select for diffs], Sat Apr 1 19:57:54 2017 UTC (6 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.66: +4 -7 lines
Diff to previous 1.66 (colored) to selected 1.80 (colored)

Simplify genfs_getpages_read async/unlock protocol.

Previously the caller unlocked for error or sync I/O, whereas
genfs_getpages_read unlocked on successful async.

Now caller unlocks in every case, and genfs_getpages_read doesn't
touch the lock.

Revision 1.66 / (download) - annotate - [select for diffs], Thu Mar 30 09:12:21 2017 UTC (7 years ago) by hannken
Branch: MAIN
Changes since 1.65: +4 -4 lines
Diff to previous 1.65 (colored) to selected 1.80 (colored)

Change last users of FSTRANS_LAZY to FSTRANS_SHARED and change
genfs_suspendctl() to move from FSTRANS_NORMAL to FSTRANS_SUSPENDED
and vice versa.

Revision 1.61.2.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:48 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.61.2.1: +65 -42 lines
Diff to previous 1.61.2.1 (colored) to branchpoint 1.61 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.65 / (download) - annotate - [select for diffs], Thu Mar 9 10:10:02 2017 UTC (7 years ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320
Changes since 1.64: +44 -28 lines
Diff to previous 1.64 (colored) to selected 1.80 (colored)

Protect genfs_do_putpages() against vnodes disappearing during
a forced mount update from read-write to read-only.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Mar 1 10:47:26 2017 UTC (7 years ago) by hannken
Branch: MAIN
Changes since 1.63: +23 -16 lines
Diff to previous 1.63 (colored) to selected 1.80 (colored)

Protect genfs_getpages() against vnodes disappearing during a
forced mount update from read-write to read-only.

Revision 1.61.2.1 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:17 2016 UTC (7 years, 4 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.61: +11 -7 lines
Diff to previous 1.61 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.58.6.2 / (download) - annotate - [select for diffs], Wed Oct 5 20:56:03 2016 UTC (7 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.58.6.1: +11 -7 lines
Diff to previous 1.58.6.1 (colored) to branchpoint 1.58 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.63 / (download) - annotate - [select for diffs], Thu Sep 29 19:08:48 2016 UTC (7 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, pgoyette-localcount-20161104, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.62: +9 -4 lines
Diff to previous 1.62 (colored) to selected 1.80 (colored)

don't change the loop counts; noted by mrg@

Revision 1.62 / (download) - annotate - [select for diffs], Thu Sep 29 18:47:35 2016 UTC (7 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.61: +6 -7 lines
Diff to previous 1.61 (colored) to selected 1.80 (colored)

Allow sparc kernels to build with SSP by using a constant PAGE_SIZE...

Revision 1.58.6.1 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:22 2015 UTC (8 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.58: +104 -89 lines
Diff to previous 1.58 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.61 / (download) - annotate - [select for diffs], Wed May 6 15:57:08 2015 UTC (8 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, 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, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.60: +2 -3 lines
Diff to previous 1.60 (colored) to selected 1.80 (colored)

Remove miscfs/syncfs and

- move the syncer into kern/vfs_subr.c.

- change the syncer to process the mountlist and VFS_SYNC as appropriate.

- use an API for mount points similiar to the API for vnodes:
  - vfs_syncer_add_to_worklist(struct mount *mp) to add
  - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount.

No objections on tech-kern@

Revision 1.60 / (download) - annotate - [select for diffs], Sun Apr 12 14:44:06 2015 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.59: +4 -2 lines
Diff to previous 1.59 (colored) to selected 1.80 (colored)

Fix UVMHIST build.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Apr 10 13:02:15 2015 UTC (8 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.58: +102 -88 lines
Diff to previous 1.58 (colored) to selected 1.80 (colored)

Pull VOP_BMAP/VOP_STRATEGY loop from getpages into its own function.

No functional change.

In preparation for a gop_read like the existing gop_write.

Revision 1.55.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:30 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.55.2.2: +4 -4 lines
Diff to previous 1.55.2.2 (colored) to branchpoint 1.55 (colored) to selected 1.80 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.53.2.19 / (download) - annotate - [select for diffs], Thu May 22 11:41:05 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.18: +4 -4 lines
Diff to previous 1.53.2.18 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored) to selected 1.80 (colored)

sync with head.

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

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

Revision 1.55.4.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:09 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.55: +4 -4 lines
Diff to previous 1.55 (colored) next main 1.56 (colored) to selected 1.80 (colored)

sync with head

Revision 1.58 / (download) - annotate - [select for diffs], Fri Oct 25 11:35:55 2013 UTC (10 years, 5 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base-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
Branch point for: nick-nhusb
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored) to selected 1.80 (colored)

Turn a few __unused into __diagused

Revision 1.57 / (download) - annotate - [select for diffs], Sat Oct 19 19:36:16 2013 UTC (10 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored) to selected 1.80 (colored)

Mark a potentially unused variable

Revision 1.56 / (download) - annotate - [select for diffs], Sat Oct 19 16:33:11 2013 UTC (10 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored) to selected 1.80 (colored)

Mark a potentially unused (if an arch implements pmap_update as empty
macro) variable accordingly.

Revision 1.53.2.18 / (download) - annotate - [select for diffs], Mon Apr 22 13:08:06 2013 UTC (10 years, 11 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.53.2.17: +1 -1 lines
Diff to previous 1.53.2.17 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

revert unnecessary diff

Revision 1.53.2.17 / (download) - annotate - [select for diffs], Fri Nov 2 08:30:05 2012 UTC (11 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.16: +13 -4 lines
Diff to previous 1.53.2.16 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

tweak integrity_sync cases
some comments

Revision 1.55.2.2 / (download) - annotate - [select for diffs], Wed Oct 10 16:30:42 2012 UTC (11 years, 5 months ago) by bouyer
Branch: tls-maxphys
Changes since 1.55.2.1: +3 -3 lines
Diff to previous 1.55.2.1 (colored) to branchpoint 1.55 (colored) to selected 1.80 (colored)

We know vp is not NULL, no need to check

Revision 1.55.2.1 / (download) - annotate - [select for diffs], Wed Sep 12 06:15:35 2012 UTC (11 years, 6 months ago) by tls
Branch: tls-maxphys
Changes since 1.55: +22 -5 lines
Diff to previous 1.55 (colored) to selected 1.80 (colored)

Initial snapshot of work to eliminate 64K MAXPHYS.  Basically works for
physio (I/O to raw devices); needs more doing to get it going with the
filesystems, but it shouldn't damage data.

All work's been done on amd64 so far.  Not hard to add support to other
ports.  If others want to pitch in, one very helpful thing would be to
sort out when and how IDE disks can do 128K or larger transfers, and
adjust the various PCI IDE (or at least ahcisata) drivers and wd.c
accordingly -- it would make testing much easier.  Another very helpful
thing would be to implement a smart minphys() for RAIDframe along the
lines detailed in the MAXPHYS-NOTES file.

Revision 1.53.2.16 / (download) - annotate - [select for diffs], Wed Aug 1 22:34:15 2012 UTC (11 years, 7 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.15: +62 -30 lines
Diff to previous 1.53.2.15 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

- fix integrity sync.
  putpages for integrity sync (fsync, msync with MS_SYNC, etc) should not
  skip pages being written back by other threads.

- adapt to radix tree tag api changes.

Revision 1.53.2.15 / (download) - annotate - [select for diffs], Wed Aug 1 21:13:45 2012 UTC (11 years, 7 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.14: +2 -20 lines
Diff to previous 1.53.2.14 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

remove stale comments

Revision 1.53.6.1 / (download) - annotate - [select for diffs], Sat Jun 2 11:09:36 2012 UTC (11 years, 9 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.53: +18 -25 lines
Diff to previous 1.53 (colored) next main 1.54 (colored) to selected 1.80 (colored)

sync to latest -current.

Revision 1.53.2.14 / (download) - annotate - [select for diffs], Wed May 23 10:08:14 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.13: +18 -25 lines
Diff to previous 1.53.2.13 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.55 / (download) - annotate - [select for diffs], Tue May 22 14:20:39 2012 UTC (11 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.54: +16 -24 lines
Diff to previous 1.54 (colored) to selected 1.80 (colored)

don't block on pager map for read-ahead.
reduce code duplication.

Revision 1.53.8.1 / (download) - annotate - [select for diffs], Mon May 7 03:01:12 2012 UTC (11 years, 10 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.53: +4 -3 lines
Diff to previous 1.53 (colored) next main 1.54 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by chs in ticket #204):
	sys/fs/sysvbfs/sysvbfs_vnops.c: revision 1.44
	sys/ufs/ffs/ffs_vfsops.c: revision 1.277
	sys/fs/v7fs/v7fs_vnops.c: revision 1.11
	sys/ufs/chfs/chfs_vnops.c: revision 1.7
	sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.61
	sys/miscfs/genfs/genfs_io.c: revision 1.54
	sys/kern/vfs_wapbl.c: revision 1.52
	sys/uvm/uvm_pager.h: revision 1.43
	sys/ufs/ffs/ffs_vnops.c: revision 1.121
	sys/kern/vfs_subr.c: revision 1.434
	sys/fs/msdosfs/msdosfs_vnops.c: revision 1.83
	sys/fs/ntfs/ntfs_vnops.c: revision 1.51
	sys/fs/udf/udf_subr.c: revision 1.119
	sys/miscfs/specfs/spec_vnops.c: revision 1.135
	sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.103
	sys/fs/udf/udf_vnops.c: revision 1.71
	sys/ufs/ufs/ufs_readwrite.c: revision 1.104
change vflushbuf() to take the full FSYNC_* flags.
translate FSYNC_LAZY into PGO_LAZY for VOP_PUTPAGES() so that
genfs_do_io() can set the appropriate io priority for the I/O.
this is the first part of addressing PR 46325.
mark all wapbl I/O as BPRIO_TIMECRITICAL.
this is the second part of addressing PR 46325.

Revision 1.54 / (download) - annotate - [select for diffs], Sun Apr 29 22:54:00 2012 UTC (11 years, 11 months ago) by chs
Branch: MAIN
Changes since 1.53: +4 -3 lines
Diff to previous 1.53 (colored) to selected 1.80 (colored)

change vflushbuf() to take the full FSYNC_* flags.
translate FSYNC_LAZY into PGO_LAZY for VOP_PUTPAGES() so that
genfs_do_io() can set the appropriate io priority for the I/O.
this is the first part of addressing PR 46325.

Revision 1.13.4.2.2.3 / (download) - annotate - [select for diffs], Sat Apr 21 23:12:17 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-5-0
Changes since 1.13.4.2.2.2: +3 -15 lines
Diff to previous 1.13.4.2.2.2 (colored) to branchpoint 1.13.4.2 (colored) next main 1.13.4.3 (colored) to selected 1.80 (colored)

Back out a commit included in the ticket 1750 patch which obviously
doesn't belong there.

Revision 1.13.4.3.2.2 / (download) - annotate - [select for diffs], Sat Apr 21 23:11:42 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-5-1
CVS Tags: netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE
Changes since 1.13.4.3.2.1: +3 -15 lines
Diff to previous 1.13.4.3.2.1 (colored) to branchpoint 1.13.4.3 (colored) next main 1.13.4.4 (colored) to selected 1.80 (colored)

Back out a commit included in the ticket 1750 patch which obviously
doesn't belong there.

Revision 1.13.4.5 / (download) - annotate - [select for diffs], Sat Apr 21 23:10:42 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.13.4.4: +3 -15 lines
Diff to previous 1.13.4.4 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.80 (colored)

Back out a commit included in the ticket 1750 patch which obviously
doesn't belong there.

Revision 1.13.4.3.2.1 / (download) - annotate - [select for diffs], Sat Apr 21 15:54:46 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-5-1
Changes since 1.13.4.3: +15 -3 lines
Diff to previous 1.13.4.3 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by spz in ticket #1750):
crypto/dist/openssl/crypto/mem.c		patch
crypto/dist/openssl/crypto/asn1/a_d2i_fp.c	patch
crypto/dist/openssl/crypto/buffer/buffer.c	patch
sys/miscfs/genfs/genfs_io.c			patch

	Address CVE-2012-2110.
	[spz, ticket #1750]

Revision 1.13.4.2.2.2 / (download) - annotate - [select for diffs], Sat Apr 21 15:54:03 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-5-0
Changes since 1.13.4.2.2.1: +15 -3 lines
Diff to previous 1.13.4.2.2.1 (colored) to branchpoint 1.13.4.2 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by spz in ticket #1750):
crypto/dist/openssl/crypto/mem.c		patch
crypto/dist/openssl/crypto/asn1/a_d2i_fp.c	patch
crypto/dist/openssl/crypto/buffer/buffer.c	patch
sys/miscfs/genfs/genfs_io.c			patch

	Address CVE-2012-2110.
	[spz, ticket #1750]

Revision 1.13.4.4 / (download) - annotate - [select for diffs], Sat Apr 21 15:52:54 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-5
Changes since 1.13.4.3: +15 -3 lines
Diff to previous 1.13.4.3 (colored) to branchpoint 1.13 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by spz in ticket #1750):
crypto/dist/openssl/crypto/mem.c		patch
crypto/dist/openssl/crypto/asn1/a_d2i_fp.c	patch
crypto/dist/openssl/crypto/buffer/buffer.c	patch
sys/miscfs/genfs/genfs_io.c			patch

	Address CVE-2012-2110.
	[spz, ticket #1750]

Revision 1.13.4.2.4.5 / (download) - annotate - [select for diffs], Wed Feb 29 18:03:37 2012 UTC (12 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.13.4.2.4.4: +3 -2 lines
Diff to previous 1.13.4.2.4.4 (colored) to branchpoint 1.13.4.2 (colored) next main 1.13.4.3 (colored) to selected 1.80 (colored)

Improve UVM_PAGE_TRKOWN.
Add more asserts to uvm_page.

Revision 1.53.2.13 / (download) - annotate - [select for diffs], Fri Feb 17 08:18:57 2012 UTC (12 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.12: +9 -9 lines
Diff to previous 1.53.2.12 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

byebye PG_HOLE as it turned out to be unnecessary.

Revision 1.13.4.2.4.4 / (download) - annotate - [select for diffs], Thu Feb 9 03:08:31 2012 UTC (12 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.13.4.2.4.3: +6 -3 lines
Diff to previous 1.13.4.2.4.3 (colored) to branchpoint 1.13.4.2 (colored) to selected 1.80 (colored)

Change to use the updated uvm_pageout_* signature.

Revision 1.53.2.12 / (download) - annotate - [select for diffs], Sun Feb 5 08:23:41 2012 UTC (12 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.11: +10 -1 lines
Diff to previous 1.53.2.11 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

genfs_gop_write_rwmap: comment

Revision 1.53.2.11 / (download) - annotate - [select for diffs], Sun Feb 5 05:01:26 2012 UTC (12 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.10: +9 -3 lines
Diff to previous 1.53.2.10 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

use unsigned
comments
assertions

Revision 1.53.2.10 / (download) - annotate - [select for diffs], Wed Jan 25 00:40:08 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.9: +2 -2 lines
Diff to previous 1.53.2.9 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

comment

Revision 1.53.2.9 / (download) - annotate - [select for diffs], Tue Jan 24 02:09:34 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.8: +22 -17 lines
Diff to previous 1.53.2.8 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

- g/c #if 0'ed code
- minor optimization
- comments

Revision 1.53.2.8 / (download) - annotate - [select for diffs], Wed Jan 18 02:09:05 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.7: +48 -33 lines
Diff to previous 1.53.2.7 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

- bug fixes
- minor optimizations
- assertions
- comments

Revision 1.53.2.7 / (download) - annotate - [select for diffs], Sat Jan 14 04:44:45 2012 UTC (12 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.6: +2 -4 lines
Diff to previous 1.53.2.6 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

fix overwrite case

Revision 1.53.2.6 / (download) - annotate - [select for diffs], Tue Dec 20 13:46:17 2011 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.5: +30 -60 lines
Diff to previous 1.53.2.5 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

don't inline uvn_findpages in genfs_io.

Revision 1.53.2.5 / (download) - annotate - [select for diffs], Wed Nov 30 14:31:29 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.4: +4 -4 lines
Diff to previous 1.53.2.4 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

g/c #if 1
comment

Revision 1.53.2.4 / (download) - annotate - [select for diffs], Sat Nov 26 15:19:06 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.3: +7 -3 lines
Diff to previous 1.53.2.3 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

- uvm_page_array_fill: add some more parameters
- uvn_findpages: use gang-lookup
- genfs_putpages: re-enable backward clustering
- mechanical changes after the recent radixtree.h api changes

Revision 1.53.2.3 / (download) - annotate - [select for diffs], Sun Nov 20 10:49:20 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.2: +58 -65 lines
Diff to previous 1.53.2.2 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

- simplify code
- comments

Revision 1.53.2.2 / (download) - annotate - [select for diffs], Thu Nov 10 14:37:33 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53.2.1: +17 -18 lines
Diff to previous 1.53.2.1 (colored) to branchpoint 1.53 (colored) to selected 1.80 (colored)

- remove uobj->memq
- fix UVM_PAGE_TRKOWN
- comments

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Wed Nov 2 21:53:59 2011 UTC (12 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.53: +205 -153 lines
Diff to previous 1.53 (colored) to selected 1.80 (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.53 / (download) - annotate - [select for diffs], Mon Oct 31 12:49:32 2011 UTC (12 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, netbsd-6, jmcneill-usbmp
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored) to selected 1.80 (colored)

typo in a comment

Revision 1.52 / (download) - annotate - [select for diffs], Sun Oct 9 14:34:39 2011 UTC (12 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.51: +2 -7 lines
Diff to previous 1.51 (colored) to selected 1.80 (colored)

Trim unused headers.

Revision 1.51 / (download) - annotate - [select for diffs], Thu Sep 1 16:55:08 2011 UTC (12 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.50: +6 -36 lines
Diff to previous 1.50 (colored) to selected 1.80 (colored)

Use the new UVM_KMF_COLORMATCH flag to get a congruent mappings of the user
buffer so we can use unmanaged mappings (pmap_kenter_pa/pmap_kremove).

Revision 1.50 / (download) - annotate - [select for diffs], Wed Aug 31 22:16:54 2011 UTC (12 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.49: +33 -8 lines
Diff to previous 1.49 (colored) to selected 1.80 (colored)

genfs_do_directio: acquire the lock of page owner for now and fix PR/45177.
Will be revisited to avoid locking dance and be more efficient, e.g. we can
use unmanaged-mapping by allocating with colouring in mind.

Revision 1.48.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:23 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.48: +31 -27 lines
Diff to previous 1.48 (colored) next main 1.49 (colored) to selected 1.80 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.49 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:58 2011 UTC (12 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.48: +31 -27 lines
Diff to previous 1.48 (colored) to selected 1.80 (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.46.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:43 2011 UTC (12 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.46: +5 -4 lines
Diff to previous 1.46 (colored) next main 1.47 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.36.4.5 / (download) - annotate - [select for diffs], Tue May 31 03:05:05 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.36.4.4: +2 -2 lines
Diff to previous 1.36.4.4 (colored) to branchpoint 1.36 (colored) next main 1.37 (colored) to selected 1.80 (colored)

sync with head

Revision 1.13.4.2.4.3 / (download) - annotate - [select for diffs], Wed May 25 23:58:48 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.13.4.2.4.2: +6 -4 lines
Diff to previous 1.13.4.2.4.2 (colored) to branchpoint 1.13.4.2 (colored) to selected 1.80 (colored)

Make uvm_map recognize UVM_FLAG_COLORMATCH which tells uvm_map that the
'align' argument specifies the starting color of the KVA range to be returned.

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

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

Make the socket and pipe loan color-safe.

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

Revision 1.13.4.2.4.2 / (download) - annotate - [select for diffs], Fri May 20 08:11:28 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.13.4.2.4.1: +34 -15 lines
Diff to previous 1.13.4.2.4.1 (colored) to branchpoint 1.13.4.2 (colored) to selected 1.80 (colored)

bring matt-nb5-mips64 up to date with netbsd-5-1-RELEASE (except compat).

Revision 1.13.4.2.4.1 / (download) - annotate - [select for diffs], Fri Apr 29 08:12:54 2011 UTC (12 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.13.4.2: +4 -4 lines
Diff to previous 1.13.4.2 (colored) to selected 1.80 (colored)

Fix placement of #ifdef DEBUG / #endif

Revision 1.48 / (download) - annotate - [select for diffs], Thu Apr 21 06:27:17 2011 UTC (12 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.47: +4 -4 lines
Diff to previous 1.47 (colored) to selected 1.80 (colored)

Move some #ifdefs to prevent a code path change when DEBUG .vs. !DEBUG
Solves problem an assert firing when using NFS on MIPS.

Revision 1.36.4.4 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:12 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.36.4.3: +1 -0 lines
Diff to previous 1.36.4.3 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

sync with head

Revision 1.47 / (download) - annotate - [select for diffs], Mon Apr 18 15:53:04 2011 UTC (12 years, 11 months ago) by rmind
Branch: MAIN
Changes since 1.46: +3 -2 lines
Diff to previous 1.46 (colored) to selected 1.80 (colored)

G/C unused speedup_syncer() mechanism and thus simplify some code.
Update some comments to reflect the reality.  No actual changes to
the (used) syncer logic.

OK ad@

Revision 1.36.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:30 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.36.4.2: +110 -64 lines
Diff to previous 1.36.4.2 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

sync with head

Revision 1.36.2.65 / (download) - annotate - [select for diffs], Fri Feb 11 09:01:42 2011 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.64: +0 -91 lines
Diff to previous 1.36.2.64 (colored) to branchpoint 1.36 (colored) next main 1.37 (colored) to selected 1.80 (colored)

Clean up debug code.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Dec 6 10:22:43 2010 UTC (13 years, 3 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base7, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.45: +4 -3 lines
Diff to previous 1.45 (colored) to selected 1.80 (colored)

Correct an assertion; pointed out by mrg@ and pooka@, thanks.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Dec 3 08:42:14 2010 UTC (13 years, 3 months ago) by hannken
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored) to selected 1.80 (colored)

genfs_do_putpages(): When testing an uobject for dirty or modified
pages skip uninitialized (PG_FAKE) pages (DEBUG only).

Revision 1.44 / (download) - annotate - [select for diffs], Tue Nov 30 10:55:25 2010 UTC (13 years, 4 months ago) by hannken
Branch: MAIN
Changes since 1.43: +6 -2 lines
Diff to previous 1.43 (colored) to selected 1.80 (colored)

Always take the object lock before changing vmpage flags.  Fixes a deadlock
where a thread is waiting on "genput" but the page in question is neither
BUSY nor WANTED.

No objections from tech-kern@.

Revision 1.36.2.64 / (download) - annotate - [select for diffs], Sun Nov 21 18:22:32 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.63: +1 -7 lines
Diff to previous 1.36.2.63 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Clarify things a bit in XIP putpages.

Revision 1.36.2.63 / (download) - annotate - [select for diffs], Sun Nov 21 17:07:38 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.62: +92 -0 lines
Diff to previous 1.36.2.62 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Put back XIP putpages, but slightly modifed to be called from the
generic putpages, and to call pgo_get() than a specific function.
Without this, UVM went mad after unmount (vinval, etc.).

Revision 1.36.2.62 / (download) - annotate - [select for diffs], Sun Nov 21 15:00:12 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.61: +3 -3 lines
Diff to previous 1.36.2.61 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

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

Revision 1.36.2.61 / (download) - annotate - [select for diffs], Sun Nov 21 14:52:23 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.60: +1 -0 lines
Diff to previous 1.36.2.60 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Assert.

Revision 1.36.2.60 / (download) - annotate - [select for diffs], Sun Nov 21 12:42:59 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.59: +17 -6 lines
Diff to previous 1.36.2.59 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Resurrect PGO_ZERO support.

When vnode pager encounters hole pages in XIP'ed vnodes, it fills
page slots with PGO_ZERO and returns them back to the caller (fault
handler).  Fault handlers are responsible to check page slots and
redirect PGO_ZERO to the single "zero page" allocated by calling
uvm_page_zeropage_alloc(9).

The zero page is wired, read-only (PG_RDONLY) page.  It's shared
by multiple vnodes, it has no single owner.

XIP'ed vnodes are supposed to be "stable" during I/O (unlocked).
Because XIP'ed mounts are always read-only.  There's no chance to
change mappings of XIP'ed vnodes and their XIP'ed pages.  Thus the
cached uobj is reused after pgo_get() for PGO_ZERO.

(Do we need a new concept of "read-only UVM object"?)

Revision 1.36.2.59 / (download) - annotate - [select for diffs], Sun Nov 21 07:41:49 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.58: +0 -198 lines
Diff to previous 1.36.2.58 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Revert XIP putpages totally.

XIP'ed uobj owns no pages; uvm_object::uo_npages is always 0,
nothing happens.

Upper layer is responsible to unmap pmap-level mappings.

Revision 1.36.2.58 / (download) - annotate - [select for diffs], Sun Nov 21 06:46:15 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.57: +2 -7 lines
Diff to previous 1.36.2.57 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Clean up, reduce diff from trunk.

Revision 1.36.2.57 / (download) - annotate - [select for diffs], Sun Nov 21 05:19:56 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.56: +24 -60 lines
Diff to previous 1.36.2.56 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Merge getpages finalization code.

In XIP case, there's nothing to do because MMIO device pages are
"staleless", unlike page caches used as I/O buffers.

Revision 1.36.2.56 / (download) - annotate - [select for diffs], Sun Nov 21 04:56:36 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.55: +3 -10 lines
Diff to previous 1.36.2.55 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Kill one more goto.

Revision 1.36.2.55 / (download) - annotate - [select for diffs], Sun Nov 21 04:50:27 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.54: +10 -20 lines
Diff to previous 1.36.2.54 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Clean up gotos.

Revision 1.36.2.54 / (download) - annotate - [select for diffs], Sun Nov 21 04:43:32 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.53: +16 -37 lines
Diff to previous 1.36.2.53 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Clean up ifdefs.

Revision 1.36.2.53 / (download) - annotate - [select for diffs], Sun Nov 21 04:35:53 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.52: +26 -40 lines
Diff to previous 1.36.2.52 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Adjust merged XIP getpages page slot offset calculation again so
it really works.  Sprinkle a few assertions and UVMHISTs.

Revision 1.36.2.52 / (download) - annotate - [select for diffs], Sat Nov 20 08:03:22 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.51: +2 -3 lines
Diff to previous 1.36.2.51 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

genfs_do_getpages_xip_io_done: Adjust page condition checks:
- Expect uvn_findpage_xip() returns busy pages.
- Device pages are always initialized (== !uninitialized == !fake).

Revision 1.36.2.51 / (download) - annotate - [select for diffs], Sat Nov 20 07:47:34 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.50: +9 -6 lines
Diff to previous 1.36.2.50 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

XIP has no "fake" (== unitinialized) pages, because pages are
already initialized when mounted.  Adjust getpages loop again.

Revision 1.36.2.50 / (download) - annotate - [select for diffs], Sat Nov 20 05:15:59 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.49: +12 -8 lines
Diff to previous 1.36.2.49 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Adjust again when heading page slots are skipped.

Revision 1.36.2.49 / (download) - annotate - [select for diffs], Sat Nov 20 04:26:12 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.48: +4 -3 lines
Diff to previous 1.36.2.48 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Fix a bug (offset calculation) in the previous.

Revision 1.36.2.48 / (download) - annotate - [select for diffs], Sat Nov 20 03:00:42 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.47: +75 -7 lines
Diff to previous 1.36.2.47 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Snapshot of getpages BMAP loop merge.

Revision 1.36.2.47 / (download) - annotate - [select for diffs], Fri Nov 19 15:25:37 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.46: +17 -9 lines
Diff to previous 1.36.2.46 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

genfs_*_xip_io: Adjust start offset.

Revision 1.36.2.46 / (download) - annotate - [select for diffs], Fri Nov 19 08:39:25 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.45: +52 -14 lines
Diff to previous 1.36.2.45 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Comment.

Revision 1.36.2.45 / (download) - annotate - [select for diffs], Fri Nov 19 08:12:12 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.44: +0 -32 lines
Diff to previous 1.36.2.44 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Remove unused code.

Revision 1.36.2.44 / (download) - annotate - [select for diffs], Fri Nov 19 08:11:04 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.43: +104 -28 lines
Diff to previous 1.36.2.43 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

More adjustment.

Reorder
	genfs_node_unlock() -> putiobuf()
to
	putiobuf() -> genfs_node_unlock()
but I don't think there's any constraint between these two.

Revision 1.36.2.43 / (download) - annotate - [select for diffs], Fri Nov 19 07:09:49 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.42: +32 -15 lines
Diff to previous 1.36.2.42 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Share mode code.  Care glock.

Revision 1.36.2.42 / (download) - annotate - [select for diffs], Fri Nov 19 06:38:53 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.41: +67 -34 lines
Diff to previous 1.36.2.41 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Reduce code duplication.

Revision 1.36.2.41 / (download) - annotate - [select for diffs], Fri Nov 19 05:43:30 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.40: +11 -35 lines
Diff to previous 1.36.2.40 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Reduce code.

Revision 1.43 / (download) - annotate - [select for diffs], Fri Nov 19 05:38:10 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: MAIN
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored) to selected 1.80 (colored)

Whitespace.

Revision 1.36.2.40 / (download) - annotate - [select for diffs], Fri Nov 19 05:22:29 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.39: +12 -39 lines
Diff to previous 1.36.2.39 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Reduce unnecessary code.

Revision 1.36.2.39 / (download) - annotate - [select for diffs], Fri Nov 19 04:46:24 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.38: +48 -28 lines
Diff to previous 1.36.2.38 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Call XIP getpages() from within the generic one.

Revision 1.36.2.38 / (download) - annotate - [select for diffs], Fri Nov 19 04:14:30 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.37: +0 -31 lines
Diff to previous 1.36.2.37 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Really remove XIP hole code.

Revision 1.36.2.37 / (download) - annotate - [select for diffs], Fri Nov 19 04:13:21 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.36: +16 -1 lines
Diff to previous 1.36.2.36 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Comment out XIP hole page redirection code.  Since makefs(8) doesn't
support hole, and these code paths can be never tested.

(The current XIP is read-only, so hole pages are pointless in
practice.)

Revision 1.36.2.36 / (download) - annotate - [select for diffs], Fri Nov 19 02:30:41 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.35: +3 -4 lines
Diff to previous 1.36.2.35 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Adjust XIP putpages to I/O XIP getpages.

Revision 1.36.2.35 / (download) - annotate - [select for diffs], Fri Nov 19 01:44:47 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.34: +34 -3 lines
Diff to previous 1.36.2.34 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Make XIP genfs_getpages_xip() return pages in I/O path, preparing
merge into the generic genfs_getpages().

Revision 1.36.2.34 / (download) - annotate - [select for diffs], Thu Nov 18 16:16:36 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.33: +1 -1 lines
Diff to previous 1.36.2.33 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Make XIP pager use cdev_mmap() instead of struct vm_physseg.

Revision 1.36.2.33 / (download) - annotate - [select for diffs], Thu Nov 18 01:53:04 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.32: +20 -22 lines
Diff to previous 1.36.2.32 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Style change.

Revision 1.36.2.32 / (download) - annotate - [select for diffs], Tue Nov 16 07:44:25 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.31: +7 -16 lines
Diff to previous 1.36.2.31 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Factor out the part which lookups physical page "identity" from
UVM object, into sys/uvm/uvm_vnode.c:uvn_findpage_xip().  Eventually
this will become a call to cdev UVM object pager.

Revision 1.36.2.31 / (download) - annotate - [select for diffs], Mon Nov 15 17:32:01 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.30: +7 -28 lines
Diff to previous 1.36.2.30 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

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

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

Revision 1.42 / (download) - annotate - [select for diffs], Tue Nov 9 16:31:48 2010 UTC (13 years, 4 months ago) by hannken
Branch: MAIN
CVS Tags: uebayasi-xip-base6
Changes since 1.41: +23 -22 lines
Diff to previous 1.41 (colored) to selected 1.80 (colored)

Genfs_getpages(): Break a deadlock where one thread runs VOP_GETPAGES(),
has busy pages and wants the wapbl lock as reader from wapbl_begin(),
another thread has the wapbl lock as reader and waits for a page from
the first thread.  Now a third thread calls wapbl_flush() and wants the
wapbl lock as writer.

Move the wapbl_begin() up to a point where genfs_getpages() has no busy
pages yet.

Revision 1.36.2.30 / (download) - annotate - [select for diffs], Sat Nov 6 08:08:44 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.29: +4 -3 lines
Diff to previous 1.36.2.29 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.36.2.29 / (download) - annotate - [select for diffs], Thu Nov 4 08:47:37 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.28: +2 -2 lines
Diff to previous 1.36.2.28 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

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

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

I think this is what I can do best now.

Revision 1.36.2.28 / (download) - annotate - [select for diffs], Thu Nov 4 07:31:27 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.27: +0 -3 lines
Diff to previous 1.36.2.27 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Remove a XXX comment which is only confusing.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Nov 3 04:32:50 2010 UTC (13 years, 4 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base5, uebayasi-xip-base4
Changes since 1.40: +4 -3 lines
Diff to previous 1.40 (colored) to selected 1.80 (colored)

genfs_getpages: restore vm_page array correctly in PGO_LOCKED error
code path.

Revision 1.36.2.27 / (download) - annotate - [select for diffs], Fri Oct 22 07:22:34 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.26: +32 -13 lines
Diff to previous 1.36.2.26 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Sync with HEAD (-D20101022).

Revision 1.6.2.5 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:34 2010 UTC (13 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6.2.4: +34 -15 lines
Diff to previous 1.6.2.4 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.80 (colored)

sync with head

Revision 1.36.2.26 / (download) - annotate - [select for diffs], Mon Sep 27 08:25:37 2010 UTC (13 years, 6 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.25: +6 -5 lines
Diff to previous 1.36.2.25 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

genfs_do_getpages_xip1: Adjust locking.  Although XIP never does real I/O,
it's called without PGO_LOCKED in some cases.  Leave vmobjlock unlocked in
that case.

Revision 1.36.2.25 / (download) - annotate - [select for diffs], Sun Sep 26 15:18:11 2010 UTC (13 years, 6 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.24: +6 -4 lines
Diff to previous 1.36.2.24 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Minor fixes.

Revision 1.36.2.24 / (download) - annotate - [select for diffs], Sun Sep 26 07:06:57 2010 UTC (13 years, 6 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.23: +158 -25 lines
Diff to previous 1.36.2.23 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Implement XIP "putpages".  Invalidate MMU mappings of pages at the
request of PGO_FREE.  PGO_DEACTIVATE and PGO_CLEANIT do nothing, because
XIP pages are neither queued nor writable.

Allocate read-only "zero" page per vnode.  Put it at offset 0 of vnode's
uvm_object.  This per-vnode "zero" page is mapped to all hole pages of
the vnode.  If one of its mapped pages are forced to be PGO_FREE'ed,
all the mappings are invalidated.

Revision 1.36.2.23 / (download) - annotate - [select for diffs], Sun Sep 26 06:38:36 2010 UTC (13 years, 6 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.22: +10 -5 lines
Diff to previous 1.36.2.22 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Wrap long lines.

Revision 1.13.4.2.2.1 / (download) - annotate - [select for diffs], Tue Sep 7 19:33:44 2010 UTC (13 years, 6 months ago) by bouyer
Branch: netbsd-5-0
Changes since 1.13.4.2: +34 -15 lines
Diff to previous 1.13.4.2 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by chs in ticket #1448):
	sys/uvm/uvm_pager.h: revision 1.39 via patch
	sys/miscfs/genfs/genfs_vnops.c: revision 1.183 via patch
	sys/ufs/ufs/ufs_inode.c: revision 1.83 via patch
	sys/miscfs/genfs/genfs_io.c: revision 1.40 via patch
	sys/miscfs/genfs/genfs_node.h: revision 1.20 via patch
replace the earlier workaround for PR 40389 with a better fix.
the earlier change caused data corruption by freeing pages
without invaliding their mappings.  instead of the trylock/retry,
just take the genfs-node lock before calling VOP_GETPAGES()
and pass a new flag to tell it that we're already holding this lock.

Revision 1.13.4.3 / (download) - annotate - [select for diffs], Tue Sep 7 19:33:35 2010 UTC (13 years, 6 months ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, matt-nb5-pq3-base, matt-nb5-pq3
Branch point for: netbsd-5-1
Changes since 1.13.4.2: +34 -15 lines
Diff to previous 1.13.4.2 (colored) to branchpoint 1.13 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by chs in ticket #1448):
	sys/uvm/uvm_pager.h: revision 1.39 via patch
	sys/miscfs/genfs/genfs_vnops.c: revision 1.183 via patch
	sys/ufs/ufs/ufs_inode.c: revision 1.83 via patch
	sys/miscfs/genfs/genfs_io.c: revision 1.40 via patch
	sys/miscfs/genfs/genfs_node.h: revision 1.20 via patch
replace the earlier workaround for PR 40389 with a better fix.
the earlier change caused data corruption by freeing pages
without invaliding their mappings.  instead of the trylock/retry,
just take the genfs-node lock before calling VOP_GETPAGES()
and pass a new flag to tell it that we're already holding this lock.

Revision 1.40 / (download) - annotate - [select for diffs], Wed Sep 1 16:56:19 2010 UTC (13 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, uebayasi-xip-base3
Changes since 1.39: +32 -14 lines
Diff to previous 1.39 (colored) to selected 1.80 (colored)

replace the earlier workaround for PR 40389 with a better fix.
the earlier change caused data corruption by freeing pages
without invaliding their mappings.  instead of the trylock/retry,
just take the genfs-node lock before calling VOP_GETPAGES()
and pass a new flag to tell it that we're already holding this lock.

Revision 1.36.2.22 / (download) - annotate - [select for diffs], Wed Aug 25 14:29:12 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.21: +1 -2 lines
Diff to previous 1.36.2.21 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Fix UVMHIST build.

Remove a comment about xip getpages optimization; quick profiling showed
that this routine is not expensive.  It'd be better to concentrate on
reducing TLB miss.

Revision 1.39 / (download) - annotate - [select for diffs], Thu Aug 19 02:10:02 2010 UTC (13 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.38: +4 -3 lines
Diff to previous 1.38 (colored) to selected 1.80 (colored)

print more info in the "past eof" panic

Revision 1.36.2.21 / (download) - annotate - [select for diffs], Tue Aug 17 06:47:36 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.20: +47 -27 lines
Diff to previous 1.36.2.20 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.36.2.20 / (download) - annotate - [select for diffs], Thu Aug 12 02:53:09 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.19: +1 -1 lines
Diff to previous 1.36.2.19 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

vm_physseg::start is PFN, not mdpgno, so don't decode it using
pmap_phys_address().

Revision 1.6.2.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:54:47 2010 UTC (13 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6.2.3: +49 -29 lines
Diff to previous 1.6.2.3 (colored) to branchpoint 1.6 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.36.2.19 / (download) - annotate - [select for diffs], Wed Aug 11 13:33:03 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.18: +1 -0 lines
Diff to previous 1.36.2.18 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

In XIP vnode pager, assert that filesystem blocks and pages are aligned.

Revision 1.38 / (download) - annotate - [select for diffs], Sun Aug 8 18:17:11 2010 UTC (13 years, 7 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10, uebayasi-xip-base2
Changes since 1.37: +37 -21 lines
Diff to previous 1.37 (colored) to selected 1.80 (colored)

in genfs_getpages(), mark the vnode dirty (ie. add to syncer worklist
and set VI_WRMAPDIRTY) after we have busied the pages rather than
before.  this prevents other threads calling genfs_do_putpages() from
marking the vnode clean again while we're in the process of creating
new writable mappings, since such threads will wait for the page(s) to
become unbusy before proceeding.
fixes the problem recently reported by hannken@ on tech-kern.

Revision 1.37 / (download) - annotate - [select for diffs], Thu Jul 29 10:54:50 2010 UTC (13 years, 8 months ago) by hannken
Branch: MAIN
Changes since 1.36: +14 -10 lines
Diff to previous 1.36 (colored) to selected 1.80 (colored)

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

Ok: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.36.2.18 / (download) - annotate - [select for diffs], Thu Jul 22 07:49:46 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.17: +1 -1 lines
Diff to previous 1.36.2.17 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

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

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

Revision 1.36.2.17 / (download) - annotate - [select for diffs], Tue Jul 20 15:43:48 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.16: +5 -8 lines
Diff to previous 1.36.2.16 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

genfs_do_getpages_xip: Simplify code.

Revision 1.36.2.16 / (download) - annotate - [select for diffs], Thu Jul 15 14:13:11 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.15: +1 -1 lines
Diff to previous 1.36.2.15 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

s/PG_DIRECT/PG_XIP/

Revision 1.36.2.15 / (download) - annotate - [select for diffs], Mon Jul 12 06:25:15 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.14: +1 -0 lines
Diff to previous 1.36.2.14 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

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

Revision 1.36.2.14 / (download) - annotate - [select for diffs], Fri Jul 9 12:57:42 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.13: +0 -1 lines
Diff to previous 1.36.2.13 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

opt_direct_page.h is no more.

Revision 1.36.2.13 / (download) - annotate - [select for diffs], Fri Jul 9 12:49:21 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.12: +28 -7 lines
Diff to previous 1.36.2.12 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Mark XIP pages as PG_CLEAN and/or PG_BUSY when appropriate.  Protect
vnode lock when vm_page::flags is manipulated.

Revision 1.36.2.12 / (download) - annotate - [select for diffs], Wed Jul 7 14:29:39 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.11: +12 -3 lines
Diff to previous 1.36.2.11 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

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

Revision 1.36.2.11 / (download) - annotate - [select for diffs], Tue Jul 6 07:20:27 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.10: +19 -2 lines
Diff to previous 1.36.2.10 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Directly allocate zero'ed vm_page for XIP unallocated blocks, instead
of abusing pool page.  Move the code to XIP vnode pager in genfs_io.c.

Revision 1.36.2.10 / (download) - annotate - [select for diffs], Tue Jun 8 03:30:00 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.9: +0 -3 lines
Diff to previous 1.36.2.9 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Comment.

Revision 1.36.2.9 / (download) - annotate - [select for diffs], Mon Jun 7 16:57:17 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.8: +9 -1 lines
Diff to previous 1.36.2.8 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Comment.

Revision 1.36.2.8 / (download) - annotate - [select for diffs], Mon May 31 13:26:37 2010 UTC (13 years, 10 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.7: +2 -2 lines
Diff to previous 1.36.2.7 (colored) to branchpoint 1.36 (colored) to selected 1.80 (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.36.2.7 / (download) - annotate - [select for diffs], Wed Apr 28 16:33:47 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.6: +5 -1 lines
Diff to previous 1.36.2.6 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

When mounting a block device as XIP, pass registered struct vm_physseg
* as a cookie from the block device to the caller (== mount code).
struct vm_physseg * will be passed to XIP vnode pager
(genfs_do_getpages_xip()), then converted back to paddr_t.

(My future plan is to pass struct vm_physseg * back to the fault handler,
and to pmap_enter() as is.)

Revision 1.36.2.6 / (download) - annotate - [select for diffs], Tue Mar 23 01:58:13 2010 UTC (14 years ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.5: +1 -1 lines
Diff to previous 1.36.2.5 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Put run-time XIP-specific per-mount data in struct specdev, not struct mount.

Revision 1.36.2.5 / (download) - annotate - [select for diffs], Wed Mar 17 16:09:17 2010 UTC (14 years ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.4: +2 -0 lines
Diff to previous 1.36.2.4 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Put comments to reflect my intent about genfs_do_getpages_xip method.

Revision 1.36.4.2 / (download) - annotate - [select for diffs], Wed Mar 17 06:03:16 2010 UTC (14 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.36.4.1: +6 -2 lines
Diff to previous 1.36.4.1 (colored) to branchpoint 1.36 (colored) to selected 1.80 (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.36.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:11 2010 UTC (14 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.36: +22 -22 lines
Diff to previous 1.36 (colored) to selected 1.80 (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.6.2.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:22 2010 UTC (14 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6.2.2: +152 -110 lines
Diff to previous 1.6.2.2 (colored) to branchpoint 1.6 (colored) to selected 1.80 (colored)

sync with head

Revision 1.36.2.4 / (download) - annotate - [select for diffs], Sun Feb 28 06:29:19 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.3: +3 -1 lines
Diff to previous 1.36.2.3 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

Don't always enable XIP on this branch to prepare the merge.  Fix build
without XIP in places.

Revision 1.36.2.3 / (download) - annotate - [select for diffs], Sun Feb 28 05:03:58 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.2: +2 -1 lines
Diff to previous 1.36.2.2 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

To mount block devices as XIP, pass physical address "cookie" used by
bus_space_mmap(9) / pmap_phys_addr(9) via struct mount.

Revision 1.36.2.2 / (download) - annotate - [select for diffs], Tue Feb 23 07:46:28 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36.2.1: +7 -10 lines
Diff to previous 1.36.2.1 (colored) to branchpoint 1.36 (colored) to selected 1.80 (colored)

genfs_do_getpages_xip: Drop vmobjlock before calling VOP_BMAP, otherwise
deadlock.  No idea how this worked for me before.

Directly call uvm_phys_to_vm_page_device() to make a device page cookie.

Revision 1.36.2.1 / (download) - annotate - [select for diffs], Thu Feb 11 06:23:04 2010 UTC (14 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.36: +123 -0 lines
Diff to previous 1.36 (colored) to selected 1.80 (colored)

genfs_getpages() for XIP.

Pages are directly mappable, and always there.  What we need to do here is
to address filesystem blocks and tell those addresses back to the fault
handler by encoding the physical addresses in struct vm_page * pointers.

(I hate code duplication.  What can I do?)

Revision 1.36 / (download) - annotate - [select for diffs], Sat Jan 30 12:06:20 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.35: +45 -12 lines
Diff to previous 1.35 (colored) to selected 1.80 (colored)

Reduce the diff between genfs_getpages() and genfs_do_io().  These should be
merged eventually.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jan 30 05:19:20 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.34: +15 -15 lines
Diff to previous 1.34 (colored) to selected 1.80 (colored)

Slightly more descriptive local variable names.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Jan 29 04:36:20 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.33: +8 -7 lines
Diff to previous 1.33 (colored) to selected 1.80 (colored)

genfs_getpages: Narrow & clarify the context where I/O happens & vmobjlock is dropped.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Jan 29 04:33:37 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.32: +9 -11 lines
Diff to previous 1.32 (colored) to selected 1.80 (colored)

genfs_getpages: Redo previous with a better goto label.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Jan 28 14:25:17 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.31: +12 -9 lines
Diff to previous 1.31 (colored) to selected 1.80 (colored)

Revert part which variable initializations within interleaved gotos.

again:	if (...) goto err;
	void *ptr = alloc();
	if (...) goto again;
	if (...) goto err1;
	...
err1:	if (ptr) free(ptr);
err:
	return;

This leaks memory if exited with "goto again; -> goto err;".

Revision 1.31 / (download) - annotate - [select for diffs], Thu Jan 28 13:43:53 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.30: +32 -28 lines
Diff to previous 1.30 (colored) to selected 1.80 (colored)

genfs_getpages: More constification & localization.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Jan 28 08:20:00 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.29: +9 -7 lines
Diff to previous 1.29 (colored) to selected 1.80 (colored)

genfs_getpages: Constify 2 variables, move one.  No functional changes.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Jan 28 08:02:12 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.28: +10 -10 lines
Diff to previous 1.28 (colored) to selected 1.80 (colored)

genfs_getpages: Constify orignpages.  Don't override its meaning by the value
re-calucated from GOP_SIZE(GOP_SIZE_MEM), but assign another variable
(orignmempages).

Revision 1.28 / (download) - annotate - [select for diffs], Thu Jan 28 07:49:08 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.27: +2 -1 lines
Diff to previous 1.27 (colored) to selected 1.80 (colored)

Unbreak modules build.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jan 28 07:44:54 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.26: +8 -13 lines
Diff to previous 1.26 (colored) to selected 1.80 (colored)

genfs_getpages: Constify & localize more variables.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Jan 28 07:38:32 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.25: +10 -7 lines
Diff to previous 1.25 (colored) to selected 1.80 (colored)

genfs_getpages: Move local variable declarations that are used only for I/O
to where they're used.  This helps to track what's going in this lengthy
function.

Revision 1.25 / (download) - annotate - [select for diffs], Thu Jan 28 07:26:25 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24 (colored) to selected 1.80 (colored)

genfs_getpages: Localize a few more variables.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Jan 28 07:24:55 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.23: +6 -2 lines
Diff to previous 1.23 (colored) to selected 1.80 (colored)

genfs_putpages: Localize a few variables.  No functional changes.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Jan 27 15:53:06 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.22: +9 -9 lines
Diff to previous 1.22 (colored) to selected 1.80 (colored)

Use genfs_node_*lock().

Revision 1.22 / (download) - annotate - [select for diffs], Wed Jan 27 15:24:54 2010 UTC (14 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.21: +11 -11 lines
Diff to previous 1.21 (colored) to selected 1.80 (colored)

Constify some pointers in genfs_getpages() and genfs_do_putpages().

Revision 1.21 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:06 2009 UTC (14 years, 5 months ago) by rmind
Branch: MAIN
CVS Tags: matt-premerge-20091211, jym-xensuspend-nbase
Changes since 1.20: +2 -4 lines
Diff to previous 1.20 (colored) to selected 1.80 (colored)

Remove uarea swap-out functionality:

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

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

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

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:22:16 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.18: +5 -23 lines
Diff to previous 1.18 (colored) next main 1.19 (colored) to selected 1.80 (colored)

Sync with HEAD.

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

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:14:04 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6.2.1: +85 -64 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.13.2.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:14 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.13.2.2: +2 -22 lines
Diff to previous 1.13.2.2 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Apr 18 15:40:33 2009 UTC (14 years, 11 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-base, jymxensuspend-base, jym-xensuspend-base
Changes since 1.19: +2 -22 lines
Diff to previous 1.19 (colored) to selected 1.80 (colored)

Move genfs_null_putpages() from genfs_io.c to genfs_vnops.c -- it does
not really do i/o.

Revision 1.13.4.2 / (download) - annotate - [select for diffs], Sat Apr 4 18:14:50 2009 UTC (14 years, 11 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, 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
Branch point for: netbsd-5-0, matt-nb5-mips64
Changes since 1.13.4.1: +6 -4 lines
Diff to previous 1.13.4.1 (colored) to branchpoint 1.13 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by joerg in ticket #664):
	sys/miscfs/genfs/genfs_io.c: revision 1.16
Check that the filesystem acutally uses WAPBL before initiating a
transaction for the directio case. Fixes PR 39929 and similiar issues
seen with PostgreSQL.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:33:36 2009 UTC (15 years ago) by skrll
Branch: nick-hppapmap
Changes since 1.13.2.1: +7 -3 lines
Diff to previous 1.13.2.1 (colored) to branchpoint 1.13 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Feb 23 21:27:51 2009 UTC (15 years, 1 month ago) by rmind
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.18: +5 -3 lines
Diff to previous 1.18 (colored) to selected 1.80 (colored)

genfs_getpages: rework 1.18 revision - move uvm_pagermapout() back.
It is useful to make KVA available ASAP.  Per discussion with <yamt>.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Feb 4 20:32:19 2009 UTC (15 years, 1 month ago) by rmind
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.17: +6 -4 lines
Diff to previous 1.17 (colored) to selected 1.80 (colored)

genfs_getpages: move putiobuf() and uvm_pagermapout() outside the glock.
OK by <ad>.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:06 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.13: +16 -18 lines
Diff to previous 1.13 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.5.6.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:27 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.5.6.3: +42 -19 lines
Diff to previous 1.5.6.3 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Jan 16 02:33:14 2009 UTC (15 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored) to selected 1.80 (colored)

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

Revision 1.8.4.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:24 2008 UTC (15 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.8.4.1: +25 -18 lines
Diff to previous 1.8.4.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.80 (colored)

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

Revision 1.16 / (download) - annotate - [select for diffs], Mon Dec 1 11:22:12 2008 UTC (15 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.15: +6 -4 lines
Diff to previous 1.15 (colored) to selected 1.80 (colored)

Check that the filesystem acutally uses WAPBL before initiating a
transaction for the directio case. Fixes PR 39929 and similiar issues
seen with PostgreSQL.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Nov 16 19:34:29 2008 UTC (15 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored) to selected 1.80 (colored)

more <sys/buf.h> police

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Sun Nov 2 23:08:56 2008 UTC (15 years, 4 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1
Changes since 1.13: +10 -15 lines
Diff to previous 1.13 (colored) to selected 1.80 (colored)

Pull up following revision(s) (requested by tron in ticket #9):
	sys/nfs/nfs_bio.c: revision 1.180
	sys/miscfs/genfs/genfs_io.c: revision 1.14
	sys/uvm/uvm_extern.h: revision 1.149
- allocate 8 pointers on the stack to avoid stack overflow in nfs.
- make that 8 a constant
- remove bogus panic

Revision 1.14 / (download) - annotate - [select for diffs], Fri Oct 31 20:42:41 2008 UTC (15 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.13: +10 -15 lines
Diff to previous 1.13 (colored) to selected 1.80 (colored)

- allocate 8 pointers on the stack to avoid stack overflow in nfs.
- make that 8 a constant
- remove bogus panic

Revision 1.8.4.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:41 2008 UTC (15 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.8: +41 -11 lines
Diff to previous 1.8 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Oct 19 18:17:13 2008 UTC (15 years, 5 months ago) by hannken
Branch: MAIN
CVS Tags: netbsd-5-base, matt-mips64-base2
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.12: +14 -5 lines
Diff to previous 1.12 (colored) to selected 1.80 (colored)

Make genfs_directio() IO_JOURNALLOCKED aware.  DirectIO no longer triggers
"locking against myself" panic in wapbl_begin().

Observed and tested by: Frank Kardel <kardel@netbsd.org>

Revision 1.6.4.3 / (download) - annotate - [select for diffs], Fri Oct 10 22:35:43 2008 UTC (15 years, 5 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.6.4.2: +20 -4 lines
Diff to previous 1.6.4.2 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Oct 10 09:21:58 2008 UTC (15 years, 5 months ago) by hannken
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, haad-dm-base1
Changes since 1.11: +20 -4 lines
Diff to previous 1.11 (colored) to selected 1.80 (colored)

Break a deadlock where one thread has a wapbl transaction, calls VOP_GETPAGES
and wants to busy a page  while  another thread calls VOP_PUTPAGES on the same
vnode, takes pages busy and wants to start a wapbl transaction.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>

Revision 1.5.6.3 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:55 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.5.6.2: +21 -7 lines
Diff to previous 1.5.6.2 (colored) to branchpoint 1.5 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.6.4.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:36:57 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.6.4.1: +23 -9 lines
Diff to previous 1.6.4.1 (colored) to branchpoint 1.6 (colored) to selected 1.80 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Aug 14 00:47:13 2008 UTC (15 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored) to selected 1.80 (colored)

remove always-true conditionals.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Aug 11 02:51:01 2008 UTC (15 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.9: +7 -7 lines
Diff to previous 1.9 (colored) to selected 1.80 (colored)

constify

Revision 1.9 / (download) - annotate - [select for diffs], Thu Jul 31 05:38:05 2008 UTC (15 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.8: +18 -4 lines
Diff to previous 1.8 (colored) to selected 1.80 (colored)

Merge the simonb-wapbl branch.  From the original branch commit:

   Add Wasabi System's WAPBL (Write Ahead Physical Block Logging)
   journaling code.  Originally written by Darrin B. Jewell while
   at Wasabi and updated to -current by Antti Kantee, Andy Doran,
   Greg Oster and Simon Burge.

OK'd by core@, releng@.

Revision 1.6.4.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:56 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.6: +40 -17 lines
Diff to previous 1.6 (colored) to selected 1.80 (colored)

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

Revision 1.5.8.2 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:12 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.5.8.1: +17 -17 lines
Diff to previous 1.5.8.1 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Tue Jun 10 14:51:22 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.8: +18 -4 lines
Diff to previous 1.8 (colored) next main 1.9 (colored) to selected 1.80 (colored)

Initial commit of Wasabi System's WAPBL (Write Ahead Physical Block
Logging) journaling code.  Originally written by Darrin B. Jewell
while at Wasabi and updated to -current by Antti Kantee, Andy Doran,
Greg Oster and Simon Burge.

Still a number of issues - look in doc/BRANCHES for "simonb-wapbl"
for more info.

Revision 1.5.6.2 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:36 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.5.6.1: +15 -15 lines
Diff to previous 1.5.6.1 (colored) to branchpoint 1.5 (colored) to selected 1.80 (colored)

Sync with HEAD.

Also fix build.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jun 4 12:41:40 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: simonb-wapbl, haad-dm
Changes since 1.7: +17 -17 lines
Diff to previous 1.7 (colored) to selected 1.80 (colored)

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

Revision 1.5.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:19 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.5: +34 -7 lines
Diff to previous 1.5 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.5.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:25 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.5: +34 -7 lines
Diff to previous 1.5 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:39 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6: +25 -2 lines
Diff to previous 1.6 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.7 / (download) - annotate - [select for diffs], Wed May 14 16:49:47 2008 UTC (15 years, 10 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Changes since 1.6: +25 -2 lines
Diff to previous 1.6 (colored) to selected 1.80 (colored)

Import writing part of the UDF file system making optical media like CD's
and DVD's behave like floppy discs. Writing is supported upto and including
version 2.01; version 2.50 and 2.60 will follow.

Also extending the UDF implementation to support symbolic links and
hardlinks.

Added are the mmcformat(8) tool to format rewritable CD/DVD discs and
newfs_udf(8).

Limitations:
        all operations can be performed on the file system though the
        sheduling is currently optimised for archiving workloads.

        mv(1)/rename(2) is currently only implemented for non-directories.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Apr 19 11:53:13 2008 UTC (15 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp, wrstuden-revivesa
Changes since 1.5: +11 -7 lines
Diff to previous 1.5 (colored) to selected 1.80 (colored)

Remove a race when pages are released while waiting for fstrans_start().

Fixes PR #38460

Revision 1.1.14.4 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:03 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.1.14.3: +35 -9 lines
Diff to previous 1.1.14.3 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.80 (colored)

sync with HEAD

Revision 1.1.12.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:00 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.1: +110 -95 lines
Diff to previous 1.1 (colored) next main 1.2 (colored) to selected 1.80 (colored)

Sync with HEAD.

Revision 1.1.10.3 / (download) - annotate - [select for diffs], Mon Jan 21 09:46:52 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.10.2: +110 -95 lines
Diff to previous 1.1.10.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.80 (colored)

sync with head

Revision 1.1.20.2 / (download) - annotate - [select for diffs], Sat Jan 19 12:15:28 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.1.20.1: +33 -7 lines
Diff to previous 1.1.20.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jan 18 11:01:23 2008 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-pf42, mjf-devfs2
Changes since 1.4: +12 -2 lines
Diff to previous 1.4 (colored) to selected 1.80 (colored)

genfs_do_putpages: DEBUG checks.

Revision 1.4 / (download) - annotate - [select for diffs], Fri Jan 18 11:00:53 2008 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.3: +25 -8 lines
Diff to previous 1.3 (colored) to selected 1.80 (colored)

genfs_do_putpages: ensure that we clean the vnode in the case of PGO_RECLAIM.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Jan 18 10:48:23 2008 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.2: +2 -3 lines
Diff to previous 1.2 (colored) to selected 1.80 (colored)

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

Revision 1.1.14.3 / (download) - annotate - [select for diffs], Wed Jan 9 01:57:01 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.1.14.2: +77 -88 lines
Diff to previous 1.1.14.2 (colored) to branchpoint 1.1 (colored) to selected 1.80 (colored)

sync with HEAD

Revision 1.1.20.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:56:50 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.1: +75 -86 lines
Diff to previous 1.1 (colored) to selected 1.80 (colored)

Sync with HEAD

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jan 2 11:48:59 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.1: +77 -88 lines
Diff to previous 1.1 (colored) to selected 1.80 (colored)

Merge vmlocking2 to head.

Revision 1.1.16.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:24 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.1: +77 -88 lines
Diff to previous 1.1 (colored) next main 1.2 (colored) to selected 1.80 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.1.14.2 / (download) - annotate - [select for diffs], Tue Nov 6 23:33:16 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.1.14.1: +1685 -0 lines
Diff to previous 1.1.14.1 (colored) to branchpoint 1.1 (colored) to selected 1.80 (colored)

sync with HEAD

Revision 1.1.10.2 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:53 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.10.1: +1685 -0 lines
Diff to previous 1.1.10.1 (colored) to branchpoint 1.1 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:52 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.1.8.1: +1685 -0 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.80 (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.1.6.2 / (download) - annotate - [select for diffs], Tue Oct 23 20:36:43 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.1: +1674 -0 lines
Diff to previous 1.1.6.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.80 (colored)

Sync with head.

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Thu Oct 18 08:33:12 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.1.4.1: +1685 -0 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.80 (colored)

sync with head.

Revision 1.1.14.1, Wed Oct 17 16:45:00 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
Changes since 1.1: +0 -1685 lines
FILE REMOVED

file genfs_io.c was added on branch matt-armv6 on 2007-11-06 23:33:16 +0000

Revision 1.1.10.1, Wed Oct 17 16:45:00 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1: +0 -1685 lines
FILE REMOVED

file genfs_io.c was added on branch yamt-lazymbuf on 2007-10-27 11:35:52 +0000

Revision 1.1.8.1, Wed Oct 17 16:45:00 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.1: +0 -1685 lines
FILE REMOVED

file genfs_io.c was added on branch jmcneill-pm on 2007-10-26 15:48:52 +0000

Revision 1.1.6.1, Wed Oct 17 16:45:00 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.1: +0 -1685 lines
FILE REMOVED

file genfs_io.c was added on branch vmlocking on 2007-10-23 20:36:43 +0000

Revision 1.1.4.1, Wed Oct 17 16:45:00 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.1: +0 -1685 lines
FILE REMOVED

file genfs_io.c was added on branch yamt-x86pmap on 2007-10-18 08:33:12 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 17 16:45:00 2007 UTC (16 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, 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, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: yamt-x86pmap, yamt-lazymbuf, vmlocking2, vmlocking, mjf-devfs, matt-armv6, jmcneill-pm, bouyer-xeni386
Diff to selected 1.80 (colored)

Split I/O-related routines (getpages, putpages, etc.) which are heavily
tied to uvm out of genfs_vnops into genfs_io.c

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>