The NetBSD Project

CVS log for src/sys/kern/vfs_bio.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.303 / (download) - annotate - [select for diffs], Wed Mar 30 14:54:29 2022 UTC (2 years ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.302: +2 -7 lines
Diff to previous 1.302 (colored)

Revert "kern: Sprinkle biglock-slippage assertions."

Got the diagnostic information I needed from this, and it's holding
up releng tests of everything else, so let's back this out until I
need more diagnostics or track down the original source of the
problem.

Revision 1.302 / (download) - annotate - [select for diffs], Wed Mar 30 10:34:14 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.301: +7 -2 lines
Diff to previous 1.301 (colored)

kern: Sprinkle biglock-slippage assertions.

We seem to have a poltergeist that occasionally messes with the
biglock depth, but it's very hard to reproduce and only manifests as
some other CPU spinning out on the kernel lock which is no good for
diagnostics.

Revision 1.298.2.1 / (download) - annotate - [select for diffs], Sun Aug 1 22:42:38 2021 UTC (2 years, 8 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.298: +10 -5 lines
Diff to previous 1.298 (colored) next main 1.299 (colored)

Sync with HEAD.

Revision 1.301 / (download) - annotate - [select for diffs], Sun Jul 25 06:06:40 2021 UTC (2 years, 8 months ago) by simonb
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2
Changes since 1.300: +10 -4 lines
Diff to previous 1.300 (colored)

If we're only doing a count-only kern.buf sysctl, just return the number
of active members in the pool cache (plus some slop) instead of looking
in all the free buffer list.  Should reduce CPU usage for "systat vm"
to << 1% especially for machines with a larger number of buffers.

Revision 1.300 / (download) - annotate - [select for diffs], Sat Jul 24 13:28:14 2021 UTC (2 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.299: +2 -3 lines
Diff to previous 1.299 (colored)

Expose KERN_BUFSLOP in <sys/sysctl.h>.

Revision 1.299 / (download) - annotate - [select for diffs], Sat Jul 24 13:27:39 2021 UTC (2 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.298: +3 -3 lines
Diff to previous 1.298 (colored)

Pad out the slop for kern.buf based on the passed in element size,
rather than a size of an unrelated struct.

Revision 1.297.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:29:00 2021 UTC (3 years ago) by thorpej
Branch: thorpej-futex
Changes since 1.297: +39 -2 lines
Diff to previous 1.297 (colored) next main 1.298 (colored)

Sync with HEAD.

Revision 1.297.4.1 / (download) - annotate - [select for diffs], Sat Apr 3 21:45:00 2021 UTC (3 years ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.297: +39 -2 lines
Diff to previous 1.297 (colored) next main 1.298 (colored)

Sync with HEAD.

Revision 1.298 / (download) - annotate - [select for diffs], Thu Apr 1 06:25:59 2021 UTC (3 years ago) by simonb
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-cfargs-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Branch point for: thorpej-i2c-spi-conf
Changes since 1.297: +39 -2 lines
Diff to previous 1.297 (colored)

Add a sysctl hashstat collector for bufhash.

Revision 1.297 / (download) - annotate - [select for diffs], Fri Jul 31 04:07:30 2020 UTC (3 years, 8 months ago) by chs
Branch: MAIN
Branch point for: thorpej-futex, thorpej-cfargs
Changes since 1.296: +32 -2 lines
Diff to previous 1.296 (colored)

fix the UFS2 extattr truncate code to play nice with wapbl.
also, rather than pull in the FreeBSD V_NORMAL/V_ALT flags to
vinvalbuf() and the buf b_xflags field and BX_ALTDATA flag,
add a binvalbuf() function to invalid a specific buffer
and use that to invalidate the two possible exattr bufs
during IO_EXT truncations.

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

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

Revision 1.295 / (download) - annotate - [select for diffs], Mon Apr 27 07:51:02 2020 UTC (3 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.294: +3 -3 lines
Diff to previous 1.294 (colored)

pass B_PHYS|B_RAW also in nestio_setup(), courtesy to e.g. xbd(4), which
wants to know whether the buf came from user space or bio subsystem

Revision 1.290.2.2 / (download) - annotate - [select for diffs], Sat Apr 25 11:24:06 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.290.2.1: +2 -53 lines
Diff to previous 1.290.2.1 (colored) to branchpoint 1.290 (colored) next main 1.291 (colored)

Sync with bouyer-xenpvh-base2 (HEAD)

Revision 1.276.4.4 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:42 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.276.4.3: +0 -51 lines
Diff to previous 1.276.4.3 (colored) to branchpoint 1.276 (colored) next main 1.277 (colored)

Sync with HEAD

Revision 1.294 / (download) - annotate - [select for diffs], Mon Apr 20 21:39:05 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2
Changes since 1.293: +2 -53 lines
Diff to previous 1.293 (colored)

Rename buf_syncwait() to vfs_syncwait(), and have it wait on v_numoutput
rather than BC_BUSY.  Removes the dependency on bufhash.

Revision 1.290.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:10 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.290: +25 -57 lines
Diff to previous 1.290 (colored)

Sync with HEAD

Revision 1.276.4.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:04 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.276.4.2: +24 -56 lines
Diff to previous 1.276.4.2 (colored) to branchpoint 1.276 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.293 / (download) - annotate - [select for diffs], Sat Apr 11 14:48:19 2020 UTC (4 years ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20200411, bouyer-xenpvh-base1
Changes since 1.292: +3 -3 lines
Diff to previous 1.292 (colored)

for bmempools set align, not ioff

Revision 1.292 / (download) - annotate - [select for diffs], Sat Apr 11 14:38:26 2020 UTC (4 years ago) by jdolecek
Branch: MAIN
Changes since 1.291: +3 -3 lines
Diff to previous 1.291 (colored)

explicitly use DEV_BSIZE align for all bmempools

this is required for Xen xbd(4) in order to not have to use bounce buffers

the alignment is implicitly provided when POOL_REDZONE is not active,
this change makes it also aligned when POOL_REDZONE _is_ active - that is
when (!KMSAN && (DIAGNOSTIC || KASAN))

Revision 1.291 / (download) - annotate - [select for diffs], Fri Apr 10 17:18:04 2020 UTC (4 years ago) by ad
Branch: MAIN
Changes since 1.290: +24 -56 lines
Diff to previous 1.290 (colored)

Remove buffer reference counting, now that it's safe to destroy b_busy after
waking any waiters.

Revision 1.276.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:52 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.276.4.1: +78 -24 lines
Diff to previous 1.276.4.1 (colored) to branchpoint 1.276 (colored)

Merge changes from current as of 20200406

Revision 1.290 / (download) - annotate - [select for diffs], Sat Mar 14 18:08:39 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.289: +3 -4 lines
Diff to previous 1.289 (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.286.2.2 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:03 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.286.2.1: +51 -12 lines
Diff to previous 1.286.2.1 (colored) to branchpoint 1.286 (colored) next main 1.287 (colored)

Sync with head.

Revision 1.289 / (download) - annotate - [select for diffs], Fri Feb 21 02:04:40 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.288: +3 -3 lines
Diff to previous 1.288 (colored)

OOPS -- fix mistake in previous commit.

bbusy really needs to return the error; otherwise things are very
bad!

Revision 1.288 / (download) - annotate - [select for diffs], Thu Feb 20 15:48:38 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.287: +50 -11 lines
Diff to previous 1.287 (colored)

Buffer cache SDT probes.

Revision 1.286.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:35 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.286: +2 -4 lines
Diff to previous 1.286 (colored)

Sync with head.

Revision 1.287 / (download) - annotate - [select for diffs], Fri Jan 17 19:33:14 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1
Changes since 1.286: +2 -4 lines
Diff to previous 1.286 (colored)

biodone2(): don't acquire kernel_lock for anybody anymore.

Revision 1.286 / (download) - annotate - [select for diffs], Tue Dec 31 13:07:13 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.285: +3 -3 lines
Diff to previous 1.285 (colored)

Rename uvm_free() -> uvm_availmem().

Revision 1.285 / (download) - annotate - [select for diffs], Fri Dec 27 09:41:51 2019 UTC (4 years, 3 months ago) by msaitoh
Branch: MAIN
Changes since 1.284: +3 -3 lines
Diff to previous 1.284 (colored)

s/transfered/transferred/

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

uvmexp.free -> uvm_free()

Revision 1.283 / (download) - annotate - [select for diffs], Wed Dec 11 20:50:32 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.282: +12 -2 lines
Diff to previous 1.282 (colored)

Add a comment.

Revision 1.282 / (download) - annotate - [select for diffs], Sun Dec 8 20:35:23 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.281: +9 -2 lines
Diff to previous 1.281 (colored)

For safety, cv_broadcast(&bp->b_busy) in more places where the buffer is
changing identity or moving from one vnode list to another.

Revision 1.281 / (download) - annotate - [select for diffs], Sun Dec 8 19:49:25 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.280: +4 -3 lines
Diff to previous 1.280 (colored)

Adjustment to previous: if we're going to toss the buffer, then wake
everybody.

Revision 1.280 / (download) - annotate - [select for diffs], Sun Dec 8 19:26:05 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.279: +7 -7 lines
Diff to previous 1.279 (colored)

- Avoid thundering herd: cv_broadcast(&bp->b_busy) -> cv_signal(&bp->b_busy)
- Sprinkle __cacheline_aligned.

Revision 1.279 / (download) - annotate - [select for diffs], Mon Aug 26 10:24:39 2019 UTC (4 years, 7 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.278: +3 -3 lines
Diff to previous 1.278 (colored)

 Change buf_nbuf()'s return value from int to u_int to avoid undefined
behavior in wapbl_start() which extended int to size_t.

Error message was:
> UBSan: Undefined Behavior in ../../../../kern/vfs_wapbl.c:609:41, signed integer overflow: 3345138 * 1024 cannot be represented in type 'int'

>        /* XXX maybe use filesystem fragment size instead of 1024 */
>         /* XXX fix actual number of buffers reserved per filesystem. */
>         wl->wl_bufcount_max = (buf_nbuf() / 2) * 1024;

Need more work?

Revision 1.276.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:04 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.276: +32 -11 lines
Diff to previous 1.276 (colored)

Sync with HEAD

Revision 1.276.2.2 / (download) - annotate - [select for diffs], Mon Nov 26 01:52:50 2018 UTC (5 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.276.2.1: +11 -8 lines
Diff to previous 1.276.2.1 (colored) to branchpoint 1.276 (colored) next main 1.277 (colored)

Sync with HEAD, resolve a couple of conflicts

Revision 1.278 / (download) - annotate - [select for diffs], Sat Nov 24 17:52:39 2018 UTC (5 years, 4 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.277: +11 -8 lines
Diff to previous 1.277 (colored)

Fix kernel pointer leaks in sysctl_dobuf. While here constify argument.

Also memset the buffer, to prevent leaks (even if there doesn't seem to
be currently).

Revision 1.276.2.1 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:42 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.276: +23 -5 lines
Diff to previous 1.276 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.273.2.2 / (download) - annotate - [select for diffs], Sat Sep 1 06:04:16 2018 UTC (5 years, 7 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.273.2.1: +23 -5 lines
Diff to previous 1.273.2.1 (colored) to branchpoint 1.273 (colored) next main 1.274 (colored)

Pull up following revision(s) (requested by hannken in ticket #1000):

	sys/kern/vfs_bio.c: revision 1.277

Make sure getnewbuf() runs bawrite() inside fstrans.

Use fstrans_start_nowait() to skip buffers that would block.

Revision 1.277 / (download) - annotate - [select for diffs], Wed Aug 29 09:05:17 2018 UTC (5 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906
Changes since 1.276: +23 -5 lines
Diff to previous 1.276 (colored)

Make sure getnewbuf() runs bawrite() inside fstrans.
Use fstrans_start_nowait() to skip buffers that would block.

Revision 1.239.2.4 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:45 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.239.2.3: +143 -42 lines
Diff to previous 1.239.2.3 (colored) to branchpoint 1.239 (colored) next main 1.240 (colored)

update from HEAD

Revision 1.273.2.1 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:52 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.273: +17 -15 lines
Diff to previous 1.273 (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.276 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:11 2017 UTC (6 years, 5 months ago) by pgoyette
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.275: +17 -15 lines
Diff to previous 1.275 (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.252.2.7 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:07 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.252.2.6: +35 -11 lines
Diff to previous 1.252.2.6 (colored) to branchpoint 1.252 (colored) next main 1.253 (colored)

Sync with HEAD

Revision 1.275 / (download) - annotate - [select for diffs], Fri Aug 4 07:00:17 2017 UTC (6 years, 8 months ago) by mrg
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.274: +3 -3 lines
Diff to previous 1.274 (colored)

normalise a BIOHIST log message

Revision 1.274 / (download) - annotate - [select for diffs], Thu Jun 8 01:23:01 2017 UTC (6 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646
Changes since 1.273: +29 -5 lines
Diff to previous 1.273 (colored)

move some buffer cache internals declarations from buf.h to vfs_bio.c.
this is needed to avoid name conflicts with ZFS and also
makes it clearer that other code shouldn't be messing with these.
remove the LFS debug code that poked around in bufqueues and
remove the BQ_EMPTY bufqueue since nothing uses it anymore.
provide a function to let LFS and wapbl read the value of nbuf for now.

Revision 1.273 / (download) - annotate - [select for diffs], Thu May 25 02:28:07 2017 UTC (6 years, 10 months ago) by pgoyette
Branch: MAIN
CVS Tags: netbsd-8-base
Branch point for: netbsd-8
Changes since 1.272: +4 -4 lines
Diff to previous 1.272 (colored)

When logging a history record for biowait(), include the return address
as a parameter, to identify to which of the many calls to biowait() the
record refers.

Revision 1.259.2.5 / (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.259.2.4: +6 -6 lines
Diff to previous 1.259.2.4 (colored) to branchpoint 1.259 (colored) next main 1.260 (colored)

Sync with HEAD

Revision 1.267.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.267: +13 -12 lines
Diff to previous 1.267 (colored) next main 1.268 (colored)

Sync with HEAD

Revision 1.272 / (download) - annotate - [select for diffs], Wed Apr 5 20:15:49 2017 UTC (7 years ago) by jdolecek
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Changes since 1.271: +5 -5 lines
Diff to previous 1.271 (colored)

expose disk device FUA/DPO support via DIOCGCACHE, and allow the flags
to be set for I/O; implement support in sd(4) and nvme(4)

discussed on tech-kern

Revision 1.271 / (download) - annotate - [select for diffs], Tue Mar 21 10:46:49 2017 UTC (7 years ago) by skrll
Branch: MAIN
Changes since 1.270: +3 -3 lines
Diff to previous 1.270 (colored)

Use brelsel while the bufcache_lock is held rather than dropping it
and re-taking / dropping it in brelse

Revision 1.259.2.4 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:47 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.259.2.3: +9 -8 lines
Diff to previous 1.259.2.3 (colored) to branchpoint 1.259 (colored)

Sync with HEAD

Revision 1.270 / (download) - annotate - [select for diffs], Sat Mar 18 05:45:48 2017 UTC (7 years ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320
Changes since 1.269: +5 -5 lines
Diff to previous 1.269 (colored)

Nix trailing whitespace.

Revision 1.252.2.6 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:56 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.252.2.5: +63 -8 lines
Diff to previous 1.252.2.5 (colored) to branchpoint 1.252 (colored)

Sync with HEAD

Revision 1.269 / (download) - annotate - [select for diffs], Fri Jan 20 09:45:13 2017 UTC (7 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20170204
Changes since 1.268: +4 -3 lines
Diff to previous 1.268 (colored)

Fix build

Revision 1.268 / (download) - annotate - [select for diffs], Fri Jan 20 08:16:31 2017 UTC (7 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.267: +5 -5 lines
Diff to previous 1.267 (colored)

Simplify getiobuf.  buf_init already does bp->b_objlock == &buffer_lock

Revision 1.259.2.3 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:49 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.259.2.2: +59 -5 lines
Diff to previous 1.259.2.2 (colored) to branchpoint 1.259 (colored)

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

Revision 1.267 / (download) - annotate - [select for diffs], Wed Dec 28 06:25:40 2016 UTC (7 years, 3 months ago) by pgoyette
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.266: +3 -3 lines
Diff to previous 1.266 (colored)

Remove some extraneous whitespace

Revision 1.266 / (download) - annotate - [select for diffs], Tue Dec 27 04:12:34 2016 UTC (7 years, 3 months ago) by pgoyette
Branch: MAIN
Changes since 1.265: +22 -24 lines
Diff to previous 1.265 (colored)

Decouple BIOHIST from other users of KERNHIST.

Revision 1.265 / (download) - annotate - [select for diffs], Mon Dec 26 23:15:15 2016 UTC (7 years, 3 months ago) by pgoyette
Branch: MAIN
Changes since 1.264: +6 -3 lines
Diff to previous 1.264 (colored)

Fix locking so we don't release the lock between the time we check the
tailq (for being non-empty) and the time we remove an entry.

Revision 1.264 / (download) - annotate - [select for diffs], Mon Dec 26 23:12:33 2016 UTC (7 years, 3 months ago) by pgoyette
Branch: MAIN
Changes since 1.263: +56 -3 lines
Diff to previous 1.263 (colored)

Add a BIOHIST option.  As mentioned on tech-kern.

Revision 1.263 / (download) - annotate - [select for diffs], Sun Dec 18 05:43:20 2016 UTC (7 years, 3 months ago) by dholland
Branch: MAIN
Changes since 1.262: +3 -3 lines
Diff to previous 1.262 (colored)

typo in comment

Revision 1.252.2.5 / (download) - annotate - [select for diffs], Mon Dec 5 10:55:26 2016 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.252.2.4: +3 -3 lines
Diff to previous 1.252.2.4 (colored) to branchpoint 1.252 (colored)

Sync with HEAD

Revision 1.259.2.2 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:17 2016 UTC (7 years, 5 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.259.2.1: +7 -8 lines
Diff to previous 1.259.2.1 (colored) to branchpoint 1.259 (colored)

Sync with HEAD

Revision 1.262 / (download) - annotate - [select for diffs], Fri Oct 28 20:17:27 2016 UTC (7 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104, nick-nhusb-base-20161204
Changes since 1.261: +3 -3 lines
Diff to previous 1.261 (colored)

fixup comment

Revision 1.252.2.4 / (download) - annotate - [select for diffs], Wed Oct 5 20:56:03 2016 UTC (7 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.252.2.3: +14 -7 lines
Diff to previous 1.252.2.3 (colored) to branchpoint 1.252 (colored)

Sync with HEAD

Revision 1.261 / (download) - annotate - [select for diffs], Thu Sep 29 18:47:35 2016 UTC (7 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: nick-nhusb-base-20161004
Changes since 1.260: +6 -7 lines
Diff to previous 1.260 (colored)

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

Revision 1.259.2.1 / (download) - annotate - [select for diffs], Sat Aug 6 00:19:09 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.259: +10 -2 lines
Diff to previous 1.259 (colored)

Sync with HEAD

Revision 1.260 / (download) - annotate - [select for diffs], Sun Jul 31 04:05:32 2016 UTC (7 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: pgoyette-localcount-20160806, localcount-20160914
Changes since 1.259: +10 -2 lines
Diff to previous 1.259 (colored)

In bwrite, add assertion that vp != NULL. (vp is the vnode from the
buffer being written.)

There's some logic here that carefully checks for vp being null, and
other logic that will crash if it is. It appears that it's all
needless paranoia. See tech-kern for more info.

Unless someone sees the assertion go off (in which case a lot more
investigation is needed) I or someone will clean out the logic at some
future point.

Spotted by coypu.

Revision 1.252.2.3 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:31 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.252.2.2: +19 -4 lines
Diff to previous 1.252.2.2 (colored) to branchpoint 1.252 (colored)

Sync with HEAD

Revision 1.259 / (download) - annotate - [select for diffs], Mon Feb 1 05:05:43 2016 UTC (8 years, 2 months ago) by riz
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160726, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319
Branch point for: pgoyette-localcount
Changes since 1.258: +17 -2 lines
Diff to previous 1.258 (colored)

Implement the 'io' provider for DTrace.  From riastradh@, with
fixes from me.

Revision 1.258 / (download) - annotate - [select for diffs], Mon Jan 11 01:22:36 2016 UTC (8 years, 3 months ago) by dholland
Branch: MAIN
Changes since 1.257: +2 -3 lines
Diff to previous 1.257 (colored)

Whatever the point of this "biodone_vfs" global function pointer is
(something rumpity?) declare it properly in a header file instead of
in secret where its types can diverge.

Revision 1.257 / (download) - annotate - [select for diffs], Fri Jan 1 18:58:58 2016 UTC (8 years, 3 months ago) by martin
Branch: MAIN
Changes since 1.256: +4 -3 lines
Diff to previous 1.256 (colored)

KASSERT->KASSERTMSG to allow debugging a double-free'd buffer in ddb.

Revision 1.252.2.2 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:07 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.252.2.1: +6 -4 lines
Diff to previous 1.252.2.1 (colored) to branchpoint 1.252 (colored)

Sync with HEAD

Revision 1.256 / (download) - annotate - [select for diffs], Mon Aug 24 22:50:32 2015 UTC (8 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226, nick-nhusb-base-20150921
Changes since 1.255: +4 -2 lines
Diff to previous 1.255 (colored)

to garnish, dust with _KERNEL_OPT

Revision 1.252.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:20 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.252: +9 -12 lines
Diff to previous 1.252 (colored)

Sync with HEAD

Revision 1.255 / (download) - annotate - [select for diffs], Sat Mar 28 19:24:04 2015 UTC (9 years ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606, nick-nhusb-base-20150406
Changes since 1.254: +3 -4 lines
Diff to previous 1.254 (colored)

Remove the 'cred' argument from bread(). Remove a now unused var in
ffs_snapshot.c. Update the man page accordingly.

ok hannken@

Revision 1.254 / (download) - annotate - [select for diffs], Sat Mar 28 17:23:42 2015 UTC (9 years ago) by maxv
Branch: MAIN
Changes since 1.253: +3 -3 lines
Diff to previous 1.253 (colored)

Remove the 'cred' argument from breadn(), and update the man page
accordingly.

ok hannken@

Revision 1.253 / (download) - annotate - [select for diffs], Sat Mar 28 16:55:21 2015 UTC (9 years ago) by maxv
Branch: MAIN
Changes since 1.252: +7 -9 lines
Diff to previous 1.252 (colored)

Remove the 'cred' argument from bio_doread().

Revision 1.252 / (download) - annotate - [select for diffs], Mon Sep 8 22:01:24 2014 UTC (9 years, 7 months ago) by joerg
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.251: +10 -11 lines
Diff to previous 1.251 (colored)

Replace random with cprng_fast32. Reorganise computation to replace
(32bit) division with (long) multiplication.

Revision 1.251 / (download) - annotate - [select for diffs], Fri Sep 5 05:57:21 2014 UTC (9 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.250: +5 -5 lines
Diff to previous 1.250 (colored)

Don't next structure and enum definitions.
Don't use C++ keywords new, try, class, private, etc.

Revision 1.239.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:29 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.239.2.2: +8 -16 lines
Diff to previous 1.239.2.2 (colored) to branchpoint 1.239 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.249.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:55:58 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.249: +5 -2 lines
Diff to previous 1.249 (colored) next main 1.250 (colored)

Rebase.

Revision 1.250 / (download) - annotate - [select for diffs], Sun May 25 16:31:51 2014 UTC (9 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-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
Changes since 1.249: +5 -2 lines
Diff to previous 1.249 (colored)

Call biodone() in the bdev_strategy() error via a pointer.  Decouples
subr_devsw from VFS -- not that I/O buffers are _VFS_ entities -- and
eliminates the last weak alias from librump, which means things now
fully work on glibc (w/o LD_DYNAMIC_WEAK) and musl.

The whole code path is suspect anyway, since nothing prevents the device
from escaping after the lookup, suggesting that the whole error path
should be handled by the caller, but oh well.

Revision 1.232.2.4 / (download) - annotate - [select for diffs], Thu May 22 11:41:04 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.232.2.3: +11 -19 lines
Diff to previous 1.232.2.3 (colored) to branchpoint 1.232 (colored) next main 1.233 (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.245.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:08 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.245: +6 -17 lines
Diff to previous 1.245 (colored) next main 1.246 (colored)

sync with head

Revision 1.249 / (download) - annotate - [select for diffs], Tue Feb 25 18:30:11 2014 UTC (10 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.248: +2 -12 lines
Diff to previous 1.248 (colored)

Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.

Revision 1.248 / (download) - annotate - [select for diffs], Fri Oct 25 20:36:08 2013 UTC (10 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.247: +3 -3 lines
Diff to previous 1.247 (colored)

Mark a diagnostic-only variable

Revision 1.247 / (download) - annotate - [select for diffs], Mon Sep 30 18:58:00 2013 UTC (10 years, 6 months ago) by hannken
Branch: MAIN
Changes since 1.246: +4 -4 lines
Diff to previous 1.246 (colored)

Replace macro v_specmountpoint with two functions spec_node_getmountedfs()
and spec_node_setmountedfs() to manage the file system mounted on a device.
Assert the device is a block device.

Welcome to 6.99.24

Discussed on tech-kern@ some time ago.

Reviewed by: David Holland <dholland@netbsd.org>

Revision 1.246 / (download) - annotate - [select for diffs], Sun Sep 15 15:57:26 2013 UTC (10 years, 7 months ago) by martin
Branch: MAIN
Changes since 1.245: +3 -4 lines
Diff to previous 1.245 (colored)

Remove unused variable

Revision 1.245 / (download) - annotate - [select for diffs], Fri Jun 28 15:34:21 2013 UTC (10 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.244: +3 -3 lines
Diff to previous 1.244 (colored)

remove useless initialization
http://m00nbsd.net/ae123a9bae03f7dde5c6d654412daf5a.html

Revision 1.239.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:18:58 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.239.2.1: +6 -3 lines
Diff to previous 1.239.2.1 (colored) to branchpoint 1.239 (colored)

resync from head

Revision 1.244 / (download) - annotate - [select for diffs], Sun May 19 11:02:12 2013 UTC (10 years, 10 months ago) by njoly
Branch: MAIN
Changes since 1.243: +5 -4 lines
Diff to previous 1.243 (colored)

Redo case where buf_map is not yet mapped when buf_memcalc() is called
early from pmap_bootstrap(). Makes alpha, and probably others, boot
again.

Revision 1.243 / (download) - annotate - [select for diffs], Mon Mar 18 13:36:22 2013 UTC (11 years ago) by para
Branch: MAIN
CVS Tags: khorben-n900, agc-symver-base, agc-symver
Changes since 1.242: +5 -3 lines
Diff to previous 1.242 (colored)

calculate vnode cache size based on the resource it gets allocated from
this stops setting kern.maxvnodes to high so it exhausts available space in kmem

http://mail-index.netbsd.org/tech-kern/2013/03/08/msg015095.html

Revision 1.239.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:56 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.239: +21 -5 lines
Diff to previous 1.239 (colored)

resync with head

Revision 1.232.2.3 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:23 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.232.2.2: +21 -5 lines
Diff to previous 1.232.2.2 (colored) to branchpoint 1.232 (colored)

sync with head

Revision 1.242 / (download) - annotate - [select for diffs], Sun Dec 30 09:19:24 2012 UTC (11 years, 3 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.241: +6 -7 lines
Diff to previous 1.241 (colored)

Always call brelse() on error for breadn() too.

Revision 1.241 / (download) - annotate - [select for diffs], Sat Dec 29 21:56:04 2012 UTC (11 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.240: +6 -7 lines
Diff to previous 1.240 (colored)

Always call brelse() on error. Otherwise a possible error from bread() will
cause the buffer to stay lock and we end up blocking forever in
VOP_CLOSE->spec_close->vinvalbuf->bbysy since the buffer is marked busy
but there is no I/O pending.
This caused my laptop to hang on boot_findwedge because:
    findroot: unable to read block 358331527 of dev dk0 (22)

Revision 1.240 / (download) - annotate - [select for diffs], Thu Dec 20 08:03:43 2012 UTC (11 years, 3 months ago) by hannken
Branch: MAIN
Changes since 1.239: +25 -7 lines
Diff to previous 1.239 (colored)

Change bread() and breadn() to never return a buffer on
error and modify all callers to not brelse() on error.

Welcome to 6.99.16

PR kern/46282 (6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread)

Revision 1.232.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:37 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.232.2.1: +26 -18 lines
Diff to previous 1.232.2.1 (colored) to branchpoint 1.232 (colored)

sync with head

Revision 1.210.4.2 / (download) - annotate - [select for diffs], Wed Aug 22 20:25:57 2012 UTC (11 years, 7 months ago) by bouyer
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.210.4.1: +24 -16 lines
Diff to previous 1.210.4.1 (colored) to branchpoint 1.210 (colored) next main 1.211 (colored)

Pull up following revision(s) (requested by dsl in ticket #1770):
	sys/kern/vfs_bio.c: revision 1.239
Fix processing of vm.bufmem_lowater and vm.bufmem_hiwater on 64bit systems.
Use CTLTYPE_LONG for bufmem_lowater and bufmem_hiwater.
Use separate temporaries for the 'int' percentage and the 'long'
  water marks.
Shows up on amd64 now that the sysctl values are marked as 64bit.
sparc64 has been badly broken for ages. Fix part of PR kern/46536

Revision 1.236.2.2 / (download) - annotate - [select for diffs], Tue Jun 12 17:16:28 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.236.2.1: +17 -11 lines
Diff to previous 1.236.2.1 (colored) to branchpoint 1.236 (colored) next main 1.237 (colored)

Pull up following revision(s) (requested by dsl in ticket #307):
	sys/kern/vfs_bio.c: revision 1.239
Use separate temporaries for the 'int' percentage and the 'long'
  water marks.
Previous paniced on sparc64 due to a misaligned copy.

Revision 1.236.2.1 / (download) - annotate - [select for diffs], Tue Jun 12 17:13:56 2012 UTC (11 years, 10 months ago) by riz
Branch: netbsd-6
Changes since 1.236: +19 -17 lines
Diff to previous 1.236 (colored)

Pull up following revision(s) (requested by dsl in ticket #306):
	sys/kern/vfs_bio.c: revision 1.238
	sys/dev/bluetooth/bcsp.c: revision 1.21
	sys/dev/acpi/asus_acpi.c: revision 1.24
	sys/miscfs/syncfs/sync_subr.c: revision 1.48
Some calls to sysctl_createv() have mismatches betwwen the data type
and the CTLTYPE_xxx flags.
Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c
  sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c
(mostly passing the address of a uint64_t when typed as CTLTYPE_INT).
The vm.bufmem_lowater (etc) sysctls needs to be processed with a
  64bit temporary value on 64bit systems.
Fixes PR kern/46536.

Revision 1.239 / (download) - annotate - [select for diffs], Sun Jun 3 16:23:44 2012 UTC (11 years, 10 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.238: +17 -11 lines
Diff to previous 1.238 (colored)

Use separate temporaries for the 'int' percentage and the 'long'
  water marks.
Previous paniced on sparc64 due to a misaligned copy.

Revision 1.238 / (download) - annotate - [select for diffs], Sun Jun 3 11:37:44 2012 UTC (11 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.237: +16 -14 lines
Diff to previous 1.237 (colored)

Fix processing of vm.bufmem_lowater and vm.bufmem_hiwater on 64bit systems.
The values are 'u_long' so copying them into an 'int' temporary
(to avoid writing an out of range value into the actual variable)
doesn't work too well at all.
Shows up on amd64 now that the sysctl values are marked as 64bit.
sparc64 must have been badly broken for ages.

Revision 1.237 / (download) - annotate - [select for diffs], Sat Jun 2 21:36:46 2012 UTC (11 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.236: +5 -5 lines
Diff to previous 1.236 (colored)

Add some pre-processor magic to verify that the type of the data item
  passed to sysctl_createv() actually matches the declared type for
  the item itself.
In the places where the caller specifies a function and a structure
  address (typically the 'softc') an explicit (void *) cast is now needed.
Fixes bugs in sys/dev/acpi/asus_acpi.c sys/dev/bluetooth/bcsp.c
  sys/kern/vfs_bio.c sys/miscfs/syncfs/sync_subr.c and setting
  AcpiGbl_EnableAmlDebugObject.
(mostly passing the address of a uint64_t when typed as CTLTYPE_INT).
I've test built quite a few kernels, but there may be some unfixed MD
  fallout. Most likely passing &char[] to char *.
Also add CTLFLAG_UNSIGNED for unsiged decimals - not set yet.

Revision 1.232.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:31 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.232: +4 -4 lines
Diff to previous 1.232 (colored)

sync with head

Revision 1.232.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:34 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.232: +4 -4 lines
Diff to previous 1.232 (colored) next main 1.233 (colored)

merge to -current.

Revision 1.210.10.1 / (download) - annotate - [select for diffs], Sun Feb 5 12:30:38 2012 UTC (12 years, 2 months ago) by bouyer
Branch: netbsd-5-1
CVS Tags: netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE
Changes since 1.210: +3 -2 lines
Diff to previous 1.210 (colored) next main 1.211 (colored)

Pull up following revision(s) (requested by rmind in ticket #1718):
	sys/kern/vfs_bio.c: revision 1.233
sysctl_dobuf: re-acquire the sysctl lock on retry path.  PR/45827.

Revision 1.210.6.1 / (download) - annotate - [select for diffs], Sun Feb 5 12:30:33 2012 UTC (12 years, 2 months ago) by bouyer
Branch: netbsd-5-0
Changes since 1.210: +3 -2 lines
Diff to previous 1.210 (colored) next main 1.211 (colored)

Pull up following revision(s) (requested by rmind in ticket #1718):
	sys/kern/vfs_bio.c: revision 1.233
sysctl_dobuf: re-acquire the sysctl lock on retry path.  PR/45827.

Revision 1.210.4.1 / (download) - annotate - [select for diffs], Sun Feb 5 12:30:13 2012 UTC (12 years, 2 months ago) by bouyer
Branch: netbsd-5
Changes since 1.210: +3 -2 lines
Diff to previous 1.210 (colored)

Pull up following revision(s) (requested by rmind in ticket #1718):
	sys/kern/vfs_bio.c: revision 1.233
sysctl_dobuf: re-acquire the sysctl lock on retry path.  PR/45827.

Revision 1.236 / (download) - annotate - [select for diffs], Wed Feb 1 23:43:49 2012 UTC (12 years, 2 months ago) by para
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10
Branch point for: netbsd-6
Changes since 1.235: +8 -11 lines
Diff to previous 1.235 (colored)

allocate uareas and buffers from kernel_map again
add code to drain pools if kmem_arena runs out of space

Revision 1.235 / (download) - annotate - [select for diffs], Sat Jan 28 00:00:06 2012 UTC (12 years, 2 months ago) by rmind
Branch: MAIN
Changes since 1.234: +7 -10 lines
Diff to previous 1.234 (colored)

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

Revision 1.234 / (download) - annotate - [select for diffs], Fri Jan 27 19:48:40 2012 UTC (12 years, 2 months ago) by para
Branch: MAIN
Changes since 1.233: +14 -9 lines
Diff to previous 1.233 (colored)

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

releng@ acknowledged

Revision 1.233 / (download) - annotate - [select for diffs], Thu Jan 26 19:18:25 2012 UTC (12 years, 2 months ago) by rmind
Branch: MAIN
Changes since 1.232: +3 -2 lines
Diff to previous 1.232 (colored)

sysctl_dobuf: re-acquire the sysctl lock on retry path.  PR/45827.

Revision 1.232 / (download) - annotate - [select for diffs], Wed Oct 5 01:53:03 2011 UTC (12 years, 6 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.231: +11 -20 lines
Diff to previous 1.231 (colored)

Make parts of this this somewhat less gross by using ilog2() from
<sys/bitops.h>.  Additionally, concoct shorter wchan names for >=1 MiB
buf pools using the irrelevantly-more-correct format specifier for u_int.

Revision 1.231 / (download) - annotate - [select for diffs], Mon Jul 11 08:27:37 2011 UTC (12 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.230: +4 -3 lines
Diff to previous 1.230 (colored)

Change VOP_BWRITE() to take a vnode as its first argument like all other
VOPs do.  Layered file systems no longer have to modify bp->b_vp and run
into trouble when an async VOP_BWRITE() uses the wrong vnode.

- change all occurences of VOP_BWRITE(bp) to VOP_BWRITE(bp->b_vp, bp).
- remove layer_bwrite().
- welcome to 5.99.55

Adresses PR kern/38762 panic: vwakeup: neg numoutput

No objections from tech-kern@.

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

Catchup with rmind-uvmplock merge.

Revision 1.230 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:56 2011 UTC (12 years, 10 months ago) by rmind
Branch: MAIN
Changes since 1.229: +14 -14 lines
Diff to previous 1.229 (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.226.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:40 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.226: +7 -24 lines
Diff to previous 1.226 (colored) next main 1.227 (colored)

Sync with HEAD.

Revision 1.223.2.4 / (download) - annotate - [select for diffs], Tue May 31 03:05:04 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.223.2.3: +4 -4 lines
Diff to previous 1.223.2.3 (colored) to branchpoint 1.223 (colored) next main 1.224 (colored)

sync with head

Revision 1.229 / (download) - annotate - [select for diffs], Sun Apr 24 18:46:23 2011 UTC (12 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.228: +6 -6 lines
Diff to previous 1.228 (colored)

- Replace few malloc(9) uses with kmem(9).
- Rename buf_malloc() to buf_alloc(), fix comments.
- Remove some unnecessary inclusions.

Revision 1.223.2.3 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:10 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.223.2.2: +0 -17 lines
Diff to previous 1.223.2.2 (colored) to branchpoint 1.223 (colored)

sync with head

Revision 1.228 / (download) - annotate - [select for diffs], Wed Mar 23 00:58:38 2011 UTC (13 years ago) by rmind
Branch: MAIN
Changes since 1.227: +2 -19 lines
Diff to previous 1.227 (colored)

G/C count_lock_queue (unused for 12 years)

Revision 1.223.2.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:25 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.223.2.1: +14 -4 lines
Diff to previous 1.223.2.1 (colored) to branchpoint 1.223 (colored)

sync with head

Revision 1.227 / (download) - annotate - [select for diffs], Mon Jan 17 07:13:32 2011 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
CVS Tags: bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.226: +3 -3 lines
Diff to previous 1.226 (colored)

Include internal definitions (uvm/uvm.h) only where necessary.

Revision 1.226 / (download) - annotate - [select for diffs], Wed Dec 22 14:05:50 2010 UTC (13 years, 3 months ago) by reinoud
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr
Changes since 1.225: +4 -2 lines
Diff to previous 1.225 (colored)

Fix nestio's behavior on error.

The mbp->b_resid is used to track if all the nested buffers have been issued
and reported back. When the last buffer calls in, mbp->b_resid becomes zero
and biodone(mbp) is called. This is fine as long as there are no errors.

If a read-error does occure in one of the nested buffers, the mbp->b_error is
set and on its call to biodone(mbp), with mbp->b_resid is zero, physio()
panics since it asserts that IF an error is set on a buffer, there should be a
residual amount of data left to transfered.

The patch fixes this case by setting mbp->b_resid back to mbp->b_bcount on
mbp->b_error just before biodone(mbp).

This behaviour is consistent with normal buffer issueing. It either succeeds
or doesn't succeed.

Revision 1.225 / (download) - annotate - [select for diffs], Sun Dec 12 10:30:09 2010 UTC (13 years, 4 months ago) by hannken
Branch: MAIN
Changes since 1.224: +10 -2 lines
Diff to previous 1.224 (colored)

brelsel: Clear B_COWDONE flag on clean (! BO_DELWRI) buffer.  B_COWDONE is set
if the buffer was read with intention to modify but the caller changed its mind.

This error could lead to snapshot corruption when a buffer with B_COWDONE set
resides on the freelist and we create a new snapshot.

Revision 1.222.2.2 / (download) - annotate - [select for diffs], Sat Nov 6 08:08:44 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.222.2.1: +3 -3 lines
Diff to previous 1.222.2.1 (colored) to branchpoint 1.222 (colored) next main 1.223 (colored)

Sync with HEAD.

Revision 1.224 / (download) - annotate - [select for diffs], Tue Nov 2 15:09:52 2010 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base4
Changes since 1.223: +3 -3 lines
Diff to previous 1.223 (colored)

Don't sleep forever if hz < 25.

from Alessandro Forin

Revision 1.222.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:13 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.222: +2 -3 lines
Diff to previous 1.222 (colored)

Sync with HEAD.

Revision 1.223.2.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:09 2010 UTC (14 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.223: +14 -14 lines
Diff to previous 1.223 (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.195.2.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:20 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.195.2.2: +20 -41 lines
Diff to previous 1.195.2.2 (colored) to branchpoint 1.195 (colored) next main 1.196 (colored)

sync with head

Revision 1.223 / (download) - annotate - [select for diffs], Tue Mar 2 14:22:44 2010 UTC (14 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.222: +2 -3 lines
Diff to previous 1.222 (colored)

fs_ffs.h is no longer required (since the death of bufops / softdep)

Revision 1.222 / (download) - annotate - [select for diffs], Tue Nov 17 14:38:31 2009 UTC (14 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip
Changes since 1.221: +3 -3 lines
Diff to previous 1.221 (colored)

Add a comment saying "name" to pool_init() is never freed (fixing
requires touching pool implementation).  No biggie, though, since
the pools themselves are never freed.

Revision 1.221 / (download) - annotate - [select for diffs], Wed Nov 11 09:15:42 2009 UTC (14 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.220: +18 -2 lines
Diff to previous 1.220 (colored)

Add a small comment on buffer cache locking, fix mark letter b_objlock.

Revision 1.220 / (download) - annotate - [select for diffs], Wed Nov 11 07:22:33 2009 UTC (14 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.219: +2 -38 lines
Diff to previous 1.219 (colored)

G/C unused breada() and bdirty().

Revision 1.219 / (download) - annotate - [select for diffs], Thu Nov 5 16:15:51 2009 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.218: +3 -3 lines
Diff to previous 1.218 (colored)

Excommunicate comment not abiding to the 80col dogma.
(well, turns out it was no longer valid either)

Revision 1.215.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:21:58 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.215: +9 -55 lines
Diff to previous 1.215 (colored) next main 1.216 (colored)

Sync with HEAD.

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

Revision 1.195.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:13:49 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.195.2.1: +126 -95 lines
Diff to previous 1.195.2.1 (colored) to branchpoint 1.195 (colored)

sync with head.

Revision 1.210.2.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:01 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.210.2.2: +5 -7 lines
Diff to previous 1.210.2.2 (colored) to branchpoint 1.210 (colored) next main 1.211 (colored)

Sync with HEAD.

Revision 1.218 / (download) - annotate - [select for diffs], Wed Mar 11 05:55:22 2009 UTC (15 years, 1 month ago) by mrg
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-nbase, jym-xensuspend-base
Changes since 1.217: +5 -7 lines
Diff to previous 1.217 (colored)

like KERN_FILE2: *do* update "needed" when there is no count.  we want
userland to know what sort of size to provide..

while here, slightly normalise the previous to init_sysctl.c.

Revision 1.210.2.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:32:57 2009 UTC (15 years, 1 month ago) by skrll
Branch: nick-hppapmap
Changes since 1.210.2.1: +6 -50 lines
Diff to previous 1.210.2.1 (colored) to branchpoint 1.210 (colored)

Sync with HEAD.

Revision 1.217 / (download) - annotate - [select for diffs], Mon Feb 23 20:33:30 2009 UTC (15 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.216: +5 -11 lines
Diff to previous 1.216 (colored)

Fix some comments.

Revision 1.216 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:06 2009 UTC (15 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.215: +3 -41 lines
Diff to previous 1.215 (colored)

PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep

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

Revision 1.210.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:19:40 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.210: +29 -28 lines
Diff to previous 1.210 (colored)

Sync with HEAD.

Revision 1.189.6.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:20 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.189.6.4: +27 -26 lines
Diff to previous 1.189.6.4 (colored) to branchpoint 1.189 (colored) next main 1.190 (colored)

Sync with HEAD.

Revision 1.206.2.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:09 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.206.2.1: +29 -28 lines
Diff to previous 1.206.2.1 (colored) next main 1.207 (colored)

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

Revision 1.215 / (download) - annotate - [select for diffs], Sun Dec 7 20:58:46 2008 UTC (15 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base
Branch point for: jym-xensuspend
Changes since 1.214: +20 -12 lines
Diff to previous 1.214 (colored)

Move some sysctl node creations away from linksets and into the
constructors for subsystems.

XXX: CTLFLAG_PERMANENT is non-sensible.

Revision 1.214 / (download) - annotate - [select for diffs], Sun Nov 16 19:34:19 2008 UTC (15 years, 4 months ago) by joerg
Branch: MAIN
CVS Tags: ad-audiomp2-base, ad-audiomp2
Changes since 1.213: +11 -4 lines
Diff to previous 1.213 (colored)

Backout revision 1.212 and add a comment that short-cutting the WAPBL
case is not possible. The buffer length has changed and the rounded size
may not have, essentially changing the transaction size. Reported by
various users and in PR 39898.

Revision 1.213 / (download) - annotate - [select for diffs], Tue Nov 11 08:29:58 2008 UTC (15 years, 5 months ago) by joerg
Branch: MAIN
Changes since 1.212: +2 -16 lines
Diff to previous 1.212 (colored)

Move WAPL replay handling from bread() into ufs_strategy.
This changes the order of hook processing as the copy-on-write handlers
are called after the journal processing. This makes more sense as the
journal overwrite is logically part of the disk IO.

Revision 1.212 / (download) - annotate - [select for diffs], Mon Nov 10 21:02:15 2008 UTC (15 years, 5 months ago) by joerg
Branch: MAIN
Changes since 1.211: +3 -4 lines
Diff to previous 1.211 (colored)

If the size of the buffer didn't change, don't bother updating the WAPBL
accounting as it won't change either.

Revision 1.211 / (download) - annotate - [select for diffs], Tue Nov 4 16:08:41 2008 UTC (15 years, 5 months ago) by reinoud
Branch: MAIN
Changes since 1.210: +4 -3 lines
Diff to previous 1.210 (colored)

Don't dereference bp->b_vp->v_mount if its vnode type is VT_VNON. I dont
know if this masks a bug but with a machine having a ffs+wapbl mount, NFS
mounts and a ntfs mount this paniced the machine on suspend.

Revision 1.206.2.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:29 2008 UTC (15 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.206: +59 -6 lines
Diff to previous 1.206 (colored)

Sync with HEAD.

Revision 1.189.6.4 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:54 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.189.6.3: +69 -14 lines
Diff to previous 1.189.6.3 (colored) to branchpoint 1.189 (colored)

Sync with HEAD.

Revision 1.197.2.3 / (download) - annotate - [select for diffs], Wed Sep 24 16:38:57 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.197.2.2: +3 -2 lines
Diff to previous 1.197.2.2 (colored) to branchpoint 1.197 (colored) next main 1.198 (colored)

Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.

Revision 1.197.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:31:44 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.197.2.1: +70 -16 lines
Diff to previous 1.197.2.1 (colored) to branchpoint 1.197 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.210 / (download) - annotate - [select for diffs], Thu Sep 11 09:14:46 2008 UTC (15 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5-1, netbsd-5-0, netbsd-5
Changes since 1.209: +3 -2 lines
Diff to previous 1.209 (colored)

nestiobuf_setup(): Initialize b_dev from master buffer.

Revision 1.209 / (download) - annotate - [select for diffs], Sat Aug 30 08:55:53 2008 UTC (15 years, 7 months ago) by reinoud
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-2
Changes since 1.208: +3 -2 lines
Diff to previous 1.208 (colored)

Accidental commit, but asserts buffer cache lock held

Revision 1.208 / (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.207: +56 -5 lines
Diff to previous 1.207 (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.202.2.4 / (download) - annotate - [select for diffs], Fri Jul 18 16:37:49 2008 UTC (15 years, 8 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.202.2.3: +15 -13 lines
Diff to previous 1.202.2.3 (colored) next main 1.203 (colored)

Sync with head.

Revision 1.207 / (download) - annotate - [select for diffs], Mon Jul 14 16:22:42 2008 UTC (15 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: simonb-wapbl-nbase, simonb-wapbl-base
Changes since 1.206: +3 -3 lines
Diff to previous 1.206 (colored)

bdwrite(): The COWDONE check may fire for special vnodes with mounted
           non-ffs file system.  Remove VBLK vnodes from the check.

Should fix PR kern/38892

Revision 1.206 / (download) - annotate - [select for diffs], Sun Jul 6 15:00:45 2008 UTC (15 years, 9 months ago) by bouyer
Branch: MAIN
Branch point for: haad-dm
Changes since 1.205: +14 -12 lines
Diff to previous 1.205 (colored)

kern/39052: fix broken assertion. We can have a BC_BUSY buffer in the LRU
queue, if it's being flushed. But in this case, we'll also have B_VFLUSH.

While there fix checkfreelist() so that it can be used to check that a
buffer is not in the free lists.

Revision 1.202.2.3 / (download) - annotate - [select for diffs], Mon Jun 30 06:59:25 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.202.2.2: +7 -7 lines
Diff to previous 1.202.2.2 (colored)

Revert white-space changes against HEAD.

Revision 1.189.6.3 / (download) - annotate - [select for diffs], Sun Jun 29 09:33:14 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.189.6.2: +21 -8 lines
Diff to previous 1.189.6.2 (colored) to branchpoint 1.189 (colored)

Sync with HEAD.

Revision 1.197.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:52 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.197: +46 -25 lines
Diff to previous 1.197 (colored)

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

Revision 1.202.2.2 / (download) - annotate - [select for diffs], Wed Jun 18 16:33:35 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.202.2.1: +9 -5 lines
Diff to previous 1.202.2.1 (colored)

Sync with head.

Revision 1.205 / (download) - annotate - [select for diffs], Tue Jun 17 19:14:14 2008 UTC (15 years, 9 months ago) by mlelstv
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-1, wrstuden-revivesa-base
Changes since 1.204: +3 -3 lines
Diff to previous 1.204 (colored)

Drop !cv_has_waiters assertion.

bdirty() is called from within biodone() processing before
waiters have been woken up and removed.

N.B. it is also used by smbfs.

Revision 1.204 / (download) - annotate - [select for diffs], Tue Jun 17 14:53:10 2008 UTC (15 years, 9 months ago) by reinoud
Branch: MAIN
Changes since 1.203: +4 -3 lines
Diff to previous 1.203 (colored)

Mark a buffer `busy` in getnewbuf() when it came from the pool_cache since
its not on a free list.

Also change buf_init() to not automatically mark buffers `busy' since this
only makes sense for bufcache buffers.

Mark all buf_init'd buffers 'busy' on the places where they ought to be
flagged as such to not confuse the buffer cache.

Fixes PR 38923.

Revision 1.194.2.3 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:03 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.194.2.2: +23 -11 lines
Diff to previous 1.194.2.2 (colored) to branchpoint 1.194 (colored) next main 1.195 (colored)

sync with head.

Revision 1.203 / (download) - annotate - [select for diffs], Mon Jun 16 09:47:55 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4
Changes since 1.202: +7 -4 lines
Diff to previous 1.202 (colored)

Sprinkle more assertions.

Revision 1.202.2.1 / (download) - annotate - [select for diffs], Tue Jun 10 14:51:22 2008 UTC (15 years, 10 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.202: +61 -10 lines
Diff to previous 1.202 (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.202 / (download) - annotate - [select for diffs], Fri Jun 6 12:49:15 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Branch point for: simonb-wapbl
Changes since 1.201: +19 -10 lines
Diff to previous 1.201 (colored)

- Make getiobuf() return buffers marked BUSY.
- Sprinkle more assertions.

Revision 1.194.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:40 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.194.2.1: +7 -7 lines
Diff to previous 1.194.2.1 (colored) to branchpoint 1.194 (colored)

sync with head

Revision 1.189.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:14 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.189.6.1: +30 -29 lines
Diff to previous 1.189.6.1 (colored) to branchpoint 1.189 (colored)

Sync with HEAD.

Revision 1.201 / (download) - annotate - [select for diffs], Sat May 31 13:41:44 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base3
Changes since 1.200: +4 -2 lines
Diff to previous 1.200 (colored)

biodone2: if the buffer is async or has a callback method, assert that
there are no waiters on b_done (threads in biowait()).

Revision 1.200 / (download) - annotate - [select for diffs], Sat May 31 13:26:29 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.199: +3 -4 lines
Diff to previous 1.199 (colored)

tsleep -> kpause

Revision 1.199 / (download) - annotate - [select for diffs], Mon May 26 14:56:55 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.198: +4 -5 lines
Diff to previous 1.198 (colored)

brelse: always wakeup on b_busy, in case BC_WANTED is not set.

Revision 1.194.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:11 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.194: +27 -26 lines
Diff to previous 1.194 (colored)

sync with head.

Revision 1.198 / (download) - annotate - [select for diffs], Fri May 16 09:21:59 2008 UTC (15 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pf42-base2, hpcarm-cleanup-nbase
Changes since 1.197: +21 -13 lines
Diff to previous 1.197 (colored)

Make sure all cached buffers with valid, not yet written data have been
run through copy-on-write.  Call fscow_run() with valid data where possible.

The LP_UFSCOW hack is no longer needed to protect ffs_copyonwrite() against
endless recursion.

- Add a flag B_MODIFY to bread(), breada() and breadn().  If set the caller
  intends to modify the buffer returned.

- Always run copy-on-write on buffers returned from ffs_balloc().

- Add new function ffs_getblk() that gets a buffer, assigns a new blkno,
  may clear the buffer and runs copy-on-write.  Process possible errors
  from getblk() or fscow_run().  Part of PR kern/38664.

Welcome to 4.99.63

Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.195.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:28 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.195: +5 -13 lines
Diff to previous 1.195 (colored)

sync with head.

Revision 1.197 / (download) - annotate - [select for diffs], Mon May 5 17:11:17 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base2
Branch point for: wrstuden-revivesa
Changes since 1.196: +5 -6 lines
Diff to previous 1.196 (colored)

- Convert hashinit() to use kmem_alloc(). The hash tables can be large
  and it's better to not have them in kmem_map.
- Convert a couple of minor items along the way to kmem_alloc().
- Fix some memory leaks.

Revision 1.196 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:05 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
Changes since 1.195: +2 -9 lines
Diff to previous 1.195 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.195 / (download) - annotate - [select for diffs], Tue Apr 22 11:05:06 2008 UTC (15 years, 11 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.194: +5 -4 lines
Diff to previous 1.194 (colored)

When using nested buffers, allow one erroring-out nested buffer to
error-out the master buffer.

The old setup was undeterministic since a later sheduled nested buffer
could clear the error again since there is no B_ERROR flag anymore. It also
would discard the error the nested buffer returned.

Revision 1.189.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:05 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.189: +21 -15 lines
Diff to previous 1.189 (colored)

Sync with HEAD.

Revision 1.194 / (download) - annotate - [select for diffs], Thu Mar 27 19:06:52 2008 UTC (16 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.193: +6 -6 lines
Diff to previous 1.193 (colored)

Make rusage collection per-LWP and collate in the appropriate places.
cloned threads need a little bit more work but the locking needs to
be fixed first.

Revision 1.193 / (download) - annotate - [select for diffs], Tue Mar 25 23:21:43 2008 UTC (16 years ago) by yamt
Branch: MAIN
CVS Tags: ad-socklock-base1
Changes since 1.192: +9 -3 lines
Diff to previous 1.192 (colored)

- for some ports, especially for ones without pmap_growkernel,
  buf_memcalc is used by bootstrap as well.  fix NULL dereference for them.
- limit kva usage for each cache to 20% of vm_map.  XXX a bit arbitrary.
- add a comment.

Revision 1.146.2.11 / (download) - annotate - [select for diffs], Mon Mar 24 09:39:03 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.10: +10 -10 lines
Diff to previous 1.146.2.10 (colored) to branchpoint 1.146 (colored) next main 1.147 (colored)

sync with head.

Revision 1.189.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:15 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.189: +3 -3 lines
Diff to previous 1.189 (colored) next main 1.190 (colored)

sync with head.

Revision 1.192 / (download) - annotate - [select for diffs], Sun Mar 23 10:39:52 2008 UTC (16 years ago) by yamt
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14
Changes since 1.191: +9 -9 lines
Diff to previous 1.191 (colored)

when calculating some cache sizes, consider the amount of available kva.
PR/33185.

Revision 1.191 / (download) - annotate - [select for diffs], Sun Mar 23 10:33:15 2008 UTC (16 years ago) by yamt
Branch: MAIN
Changes since 1.190: +3 -3 lines
Diff to previous 1.190 (colored)

make buf_map static.

Revision 1.176.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:02 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.176.2.2: +18 -28 lines
Diff to previous 1.176.2.2 (colored) next main 1.177 (colored)

sync with HEAD

Revision 1.146.2.10 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:34 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.9: +3 -3 lines
Diff to previous 1.146.2.9 (colored) to branchpoint 1.146 (colored)

sync with head.

Revision 1.190 / (download) - annotate - [select for diffs], Fri Feb 29 12:10:09 2008 UTC (16 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base
Changes since 1.189: +3 -3 lines
Diff to previous 1.189 (colored)

update a comment.

Revision 1.146.2.9 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:56 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.8: +16 -26 lines
Diff to previous 1.146.2.8 (colored) to branchpoint 1.146 (colored)

sync with head.

Revision 1.189 / (download) - annotate - [select for diffs], Wed Feb 20 17:13:29 2008 UTC (16 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.188: +4 -18 lines
Diff to previous 1.188 (colored)

Merge all the *different* definitions of bufqueues into one common one.

Revision 1.180.2.3 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:48 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.180.2.2: +627 -453 lines
Diff to previous 1.180.2.2 (colored) to branchpoint 1.180 (colored) next main 1.181 (colored)

Sync with HEAD.

Revision 1.188 / (download) - annotate - [select for diffs], Fri Feb 15 13:46:04 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: mjf-devfs-base
Changes since 1.187: +8 -4 lines
Diff to previous 1.187 (colored)

Give bbusy() an interlock argument. If the we need to wait for the buffer,
the interlock is dropped and reacquired when awoken. This allows for
busying buffers attached to a list that is not locked by bufcache_lock.

Revision 1.187 / (download) - annotate - [select for diffs], Fri Feb 15 13:30:56 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.186: +8 -8 lines
Diff to previous 1.186 (colored)

The buffer LOCKED flag need not be under the protection of bufcache_lock,
BUSY is enough.

Revision 1.146.2.8 / (download) - annotate - [select for diffs], Mon Feb 4 09:24:22 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.7: +3 -3 lines
Diff to previous 1.146.2.7 (colored) to branchpoint 1.146 (colored)

sync with head.

Revision 1.186 / (download) - annotate - [select for diffs], Sat Feb 2 16:51:34 2008 UTC (16 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.185: +3 -3 lines
Diff to previous 1.185 (colored)

BO_COWDONE -> B_COWDONE: this flag is tested/modified from the thread owning
the buffer and therefore needs no protection by a mutex.

Ok: Andrew Doran <ad@netbsd.org>

Revision 1.146.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:46:31 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.6: +626 -456 lines
Diff to previous 1.146.2.6 (colored) to branchpoint 1.146 (colored)

sync with head

Revision 1.176.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:56:29 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.176.2.1: +626 -455 lines
Diff to previous 1.176.2.1 (colored)

sync with HEAD

Revision 1.181.6.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:11:45 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.181.6.1: +20 -7 lines
Diff to previous 1.181.6.1 (colored) to branchpoint 1.181 (colored) next main 1.182 (colored)

Sync with HEAD

Revision 1.185 / (download) - annotate - [select for diffs], Mon Jan 7 16:12:55 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.184: +6 -2 lines
Diff to previous 1.184 (colored)

Patch up sysctl locking:

- Lock processes, credentials, filehead etc correctly.
- Acquire a read hold on sysctl_treelock if only doing a query.
- Don't wire down the output buffer. It doesn't work correctly and the code
  regularly does long term sleeps with it held - it's not worth it.
- Don't hold locks other than sysctl_lock while doing copyout().
- Drop sysctl_lock while doing copyout / allocating memory in a few places.
- Don't take kernel_lock for sysctl.
- Fix a number of bugs spotted along the way

Revision 1.184 / (download) - annotate - [select for diffs], Mon Jan 7 12:50:38 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.183: +18 -9 lines
Diff to previous 1.183 (colored)

bwrite, bdwrite: bufcache_lock must be held for reassignbuf.

Revision 1.167.4.1 / (download) - annotate - [select for diffs], Sun Jan 6 05:01:13 2008 UTC (16 years, 3 months ago) by wrstuden
Branch: wrstuden-fixsa
Changes since 1.167: +48 -22 lines
Diff to previous 1.167 (colored) next main 1.168 (colored)

Catch up to netbsd-4.0 release.

Revision 1.181.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:56:22 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.181: +611 -454 lines
Diff to previous 1.181 (colored)

Sync with HEAD

Revision 1.183 / (download) - annotate - [select for diffs], Wed Jan 2 11:48:55 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.182: +610 -453 lines
Diff to previous 1.182 (colored)

Merge vmlocking2 to head.

Revision 1.180.2.2 / (download) - annotate - [select for diffs], Thu Dec 27 00:46:18 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.180.2.1: +3 -3 lines
Diff to previous 1.180.2.1 (colored) to branchpoint 1.180 (colored)

Sync with HEAD.

Revision 1.182 / (download) - annotate - [select for diffs], Mon Dec 24 15:00:20 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base3
Changes since 1.181: +3 -3 lines
Diff to previous 1.181 (colored)

b_un.b_addr -> b_data

Revision 1.180.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:20:43 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.180: +3 -2 lines
Diff to previous 1.180 (colored)

Sync with HEAD.

Revision 1.146.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:33:20 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.5: +3 -2 lines
Diff to previous 1.146.2.5 (colored) to branchpoint 1.146 (colored)

sync with head

Revision 1.181.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:19 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking2
Changes since 1.181: +614 -456 lines
Diff to previous 1.181 (colored) next main 1.182 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.175.4.5 / (download) - annotate - [select for diffs], Mon Dec 3 16:14:58 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.175.4.4: +3 -2 lines
Diff to previous 1.175.4.4 (colored) to branchpoint 1.175 (colored) next main 1.176 (colored)

Sync with HEAD.

Revision 1.181 / (download) - annotate - [select for diffs], Sun Dec 2 13:56:16 2007 UTC (16 years, 4 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.180: +3 -2 lines
Diff to previous 1.180 (colored)

Fscow_run(): add a flag "bool data_valid" to note still valid data.
Buffers run through copy-on-write are marked B_COWDONE.  This condition
is valid until the buffer has run through bwrite() and gets cleared from
biodone().

Welcome to 4.99.39.

Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.170.2.27 / (download) - annotate - [select for diffs], Mon Nov 26 10:08:18 2007 UTC (16 years, 4 months ago) by hannken
Branch: vmlocking
Changes since 1.170.2.26: +3 -2 lines
Diff to previous 1.170.2.26 (colored) next main 1.171 (colored)

buf_init(): Initialize b_iodone to NULL now that B_CALL is gone.

Revision 1.170.2.26 / (download) - annotate - [select for diffs], Sat Nov 10 12:19:01 2007 UTC (16 years, 5 months ago) by yamt
Branch: vmlocking
Changes since 1.170.2.25: +22 -6 lines
Diff to previous 1.170.2.25 (colored)

make allocbuf for pagedaemon fail when no buffers are available.

Revision 1.176.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:32:45 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.176: +69 -44 lines
Diff to previous 1.176 (colored)

sync with HEAD

Revision 1.170.2.25 / (download) - annotate - [select for diffs], Mon Nov 5 10:05:47 2007 UTC (16 years, 5 months ago) by yamt
Branch: vmlocking
Changes since 1.170.2.24: +3 -3 lines
Diff to previous 1.170.2.24 (colored)

sysctl_bufvm_update: mutex_enter -> mutex_exit.

Revision 1.170.2.24 / (download) - annotate - [select for diffs], Thu Nov 1 21:53:53 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.23: +6 -3 lines
Diff to previous 1.170.2.23 (colored)

For biodone, only acquire kernel_lock if calling out to b_iodone. Should
push the acquire back to device drivers later.

Revision 1.146.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:40 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.4: +58 -30 lines
Diff to previous 1.146.2.4 (colored) to branchpoint 1.146 (colored)

sync with head.

Revision 1.175.4.4 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:45 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.175.4.3: +56 -28 lines
Diff to previous 1.175.4.3 (colored) to branchpoint 1.175 (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.179.2.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:40:03 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.179: +48 -22 lines
Diff to previous 1.179 (colored) next main 1.180 (colored)

Sync with HEAD.

Revision 1.170.2.23 / (download) - annotate - [select for diffs], Thu Oct 25 20:50:41 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.22: +3 -2 lines
Diff to previous 1.170.2.22 (colored)

Fix vnd(4).

Revision 1.167.2.1 / (download) - annotate - [select for diffs], Wed Oct 24 22:32:39 2007 UTC (16 years, 5 months ago) by xtraeme
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.167: +48 -22 lines
Diff to previous 1.167 (colored) next main 1.168 (colored)

Pull up following revision(s) (requested by martin in ticket #946):
	sys/kern/vfs_bio.c: revision 1.180
Fix vm.bufmem* sysctl nodes for 64bit archs by making them uint64_t,
as discussed on tech-kern. No requests for binary compat - so don't
bother to version them.

Revision 1.180 / (download) - annotate - [select for diffs], Sun Oct 21 23:27:16 2007 UTC (16 years, 5 months ago) by martin
Branch: MAIN
CVS Tags: jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs
Changes since 1.179: +48 -22 lines
Diff to previous 1.179 (colored)

Fix vm.bufmem* sysctl nodes for 64bit archs by making them uint64_t,
as discussed on tech-kern. No requests for binary compat - so don't
bother to version them.

Revision 1.178.2.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:48 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.178: +10 -8 lines
Diff to previous 1.178 (colored) next main 1.179 (colored)

sync with head.

Revision 1.170.2.22 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:22 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.21: +11 -11 lines
Diff to previous 1.170.2.21 (colored)

Sync with head.

Revision 1.179 / (download) - annotate - [select for diffs], Mon Oct 8 18:04:05 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base
Branch point for: bouyer-xenamd64
Changes since 1.178: +10 -8 lines
Diff to previous 1.178 (colored)

Merge brelse() changes from the vmlocking branch.

Revision 1.175.4.3 / (download) - annotate - [select for diffs], Tue Oct 2 18:29:07 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.175.4.2: +4 -4 lines
Diff to previous 1.175.4.2 (colored) to branchpoint 1.175 (colored)

Sync with HEAD.

Revision 1.178 / (download) - annotate - [select for diffs], Sun Sep 16 15:17:36 2007 UTC (16 years, 7 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base
Branch point for: yamt-x86pmap
Changes since 1.177: +4 -4 lines
Diff to previous 1.177 (colored)

Put the RCSID before any other headers

Revision 1.175.4.2 / (download) - annotate - [select for diffs], Mon Sep 3 16:48:51 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.175.4.1: +13 -16 lines
Diff to previous 1.175.4.1 (colored) to branchpoint 1.175 (colored)

Sync with HEAD.

Revision 1.146.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:41:20 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.3: +48 -67 lines
Diff to previous 1.146.2.3 (colored) to branchpoint 1.146 (colored)

sync with head.

Revision 1.173.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 10:23:05 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.173.2.1: +13 -16 lines
Diff to previous 1.173.2.1 (colored) to branchpoint 1.173 (colored) next main 1.174 (colored)

Sync with HEAD.

Revision 1.177 / (download) - annotate - [select for diffs], Sat Sep 1 23:40:22 2007 UTC (16 years, 7 months ago) by pooka
Branch: MAIN
CVS Tags: nick-csl-alignment-base5
Changes since 1.176: +13 -16 lines
Diff to previous 1.176 (colored)

Make bioops a pointer and point it to the softdeps struct in softdep
init.  Decouples "options SOFTDEP" from the main kernel and ffs code.

Revision 1.170.2.21 / (download) - annotate - [select for diffs], Sat Sep 1 12:55:49 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.20: +21 -30 lines
Diff to previous 1.170.2.20 (colored)

- Use pool_cache for buffers.
- Simplify biodone2() slightly.

Revision 1.170.2.20 / (download) - annotate - [select for diffs], Thu Aug 30 20:07:06 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.19: +7 -11 lines
Diff to previous 1.170.2.19 (colored)

Make softdep work.

Revision 1.170.2.19 / (download) - annotate - [select for diffs], Sat Aug 25 11:11:13 2007 UTC (16 years, 7 months ago) by yamt
Branch: vmlocking
Changes since 1.170.2.18: +3 -3 lines
Diff to previous 1.170.2.18 (colored)

fix DEBUG.

Revision 1.170.2.18 / (download) - annotate - [select for diffs], Sat Aug 25 00:14:25 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.17: +39 -3 lines
Diff to previous 1.170.2.17 (colored)

getblk: fix a regression: don't try to preserve the buffer's contents if
allocating an fresh buffer.

Revision 1.170.2.17 / (download) - annotate - [select for diffs], Fri Aug 24 23:26:39 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.16: +359 -343 lines
Diff to previous 1.170.2.16 (colored)

Redo the buffer cache locking, mostly as proposed on tech-kern with the
exception that buffers need not be associated with vnodes. Previously
b_interlock needed to be held for nearly every operation on a buffer, in
addition to other locks like bqueue_slock, and the scheme basically did
not work. There are now three locks:

bufcache_lock: protects global buffer cache state, including softdep.

B_BUSY: long term per-buffer lock that Unix has had for ~ever.

b_objlock: lock on completion (biowait vs biodone). For buffers associated
with vnodes this points to &vp->v_interlock, since in most places that
b_objlock is taken vnode state is also being modified. If no vnode it points
to a generic lock (buffer_lock).

Revision 1.170.2.16 / (download) - annotate - [select for diffs], Mon Aug 20 21:27:43 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.15: +9 -8 lines
Diff to previous 1.170.2.15 (colored)

Sync with HEAD.

Revision 1.170.2.15 / (download) - annotate - [select for diffs], Mon Aug 20 12:30:34 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.14: +3 -5 lines
Diff to previous 1.170.2.14 (colored)

bdwrite: use bdev_type().

Revision 1.170.2.14 / (download) - annotate - [select for diffs], Mon Aug 20 03:22:42 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.13: +16 -20 lines
Diff to previous 1.170.2.13 (colored)

softdep locking improvements. It hangs looping in flush_inodedep_deps(),
more work required.

Revision 1.170.2.13 / (download) - annotate - [select for diffs], Sun Aug 19 19:24:55 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.12: +15 -39 lines
Diff to previous 1.170.2.12 (colored)

- Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).

Revision 1.175.4.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:03:42 2007 UTC (16 years, 8 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.175: +10 -8 lines
Diff to previous 1.175 (colored)

Sync with HEAD.

Revision 1.173.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:49:20 2007 UTC (16 years, 8 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.173: +21 -27 lines
Diff to previous 1.173 (colored)

Sync with HEAD.

Revision 1.176 / (download) - annotate - [select for diffs], Sat Aug 11 19:56:53 2007 UTC (16 years, 8 months ago) by pooka
Branch: MAIN
Branch point for: matt-armv6
Changes since 1.175: +10 -8 lines
Diff to previous 1.175 (colored)

POOL_INIT -> pool_init, we need to call bufinit() anyway

Revision 1.175.6.2 / (download) - annotate - [select for diffs], Sun Jul 29 13:53:47 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.175.6.1: +1862 -0 lines
Diff to previous 1.175.6.1 (colored) to branchpoint 1.175 (colored) next main 1.176 (colored)

B_ERROR is gone.

Revision 1.175.6.1, Sun Jul 29 13:53:46 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.175: +0 -1862 lines
FILE REMOVED

file vfs_bio.c was added on branch matt-mips64 on 2007-07-29 13:53:47 +0000

Revision 1.175 / (download) - annotate - [select for diffs], Sun Jul 29 13:53:46 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: matt-mips64-base, hpcarm-cleanup
Branch point for: matt-mips64, jmcneill-pm
Changes since 1.174: +2 -7 lines
Diff to previous 1.174 (colored)

B_ERROR is gone.

Revision 1.174 / (download) - annotate - [select for diffs], Sun Jul 29 12:15:45 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.173: +15 -18 lines
Diff to previous 1.173 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.170.2.12 / (download) - annotate - [select for diffs], Sun Jul 15 22:20:28 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.11: +3 -2 lines
Diff to previous 1.170.2.11 (colored)

Get pmax working.

Revision 1.170.2.11 / (download) - annotate - [select for diffs], Sat Jul 14 22:06:17 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.10: +6 -3 lines
Diff to previous 1.170.2.10 (colored)

Allow softdep to work again. XXX This looks wrong and will be revisited.

Revision 1.171.2.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:10:21 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.171: +10 -21 lines
Diff to previous 1.171 (colored) next main 1.172 (colored)

Sync with head.

Revision 1.173 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:57 2007 UTC (16 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.172: +5 -7 lines
Diff to previous 1.172 (colored)

Merge some of the less invasive changes from the vmlocking branch:

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

Revision 1.170.2.10 / (download) - annotate - [select for diffs], Sat Jun 23 18:06:03 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.9: +46 -23 lines
Diff to previous 1.170.2.9 (colored)

- Lock v_cleanblkhd, v_dirtyblkhd, v_numoutput with the vnode's interlock.
  Get rid of global_v_numoutput_lock. Partially incomplete as the buffer
  cache locking doesn't work very well and needs an overhaul.
- Some changes to try and make softdep MP safe. Untested.

Revision 1.170.2.9 / (download) - annotate - [select for diffs], Sun Jun 17 21:31:30 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.8: +109 -31 lines
Diff to previous 1.170.2.8 (colored)

- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.170.2.8 / (download) - annotate - [select for diffs], Fri Jun 8 14:17:28 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.7: +6 -14 lines
Diff to previous 1.170.2.7 (colored)

Sync with head.

Revision 1.172 / (download) - annotate - [select for diffs], Thu May 17 14:51:42 2007 UTC (16 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.171: +7 -16 lines
Diff to previous 1.171 (colored)

merge yamt-idlelwp branch.  asked by core@.  some ports still needs work.

from doc/BRANCHES:

	idle lwp, and some changes depending on it.

	1. separate context switching and thread scheduling.
	   (cf. gmcgarry_ctxsw)
	2. implement idle lwp.
	3. clean up related MD/MI interfaces.
	4. make scheduler(s) modular.

Revision 1.170.2.7 / (download) - annotate - [select for diffs], Sun May 13 17:36:36 2007 UTC (16 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.170.2.6: +46 -31 lines
Diff to previous 1.170.2.6 (colored)

- Pass the error number and residual count to biodone(), and let it handle
  setting error indicators. Prepare to eliminate B_ERROR.
- Add a flag argument to brelse() to be set into the buf's flags, instead
  of doing it directly. Typically used to set B_INVAL.
- Add a "struct cpu_info *" argument to kthread_create(), to be used to
  create bound threads. Change "bool mpsafe" to "int flags".
- Allow exit of LWPs in the IDL state when (l != curlwp).
- More locking fixes & conversion to the new API.

Revision 1.170.2.6 / (download) - annotate - [select for diffs], Fri Apr 13 20:56:18 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.170.2.5: +3 -3 lines
Diff to previous 1.170.2.5 (colored)

- Make the devsw interface MP safe, and add some comments.
- Allow individual block/character drivers to be marked MP safe.
- Provide wrappers around the device methods that look up the
  device, returning ENXIO if it's not found, and acquire the
  kernel lock if needed.

Revision 1.170.2.5 / (download) - annotate - [select for diffs], Mon Apr 9 22:10:04 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.170.2.4: +4 -4 lines
Diff to previous 1.170.2.4 (colored)

- Add two new arguments to kthread_create1: pri_t pri, bool mpsafe.
- Fork kthreads off proc0 as new LWPs, not new processes.

Revision 1.168.2.4 / (download) - annotate - [select for diffs], Sat Mar 24 14:56:06 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.168.2.3: +6 -5 lines
Diff to previous 1.168.2.3 (colored) to branchpoint 1.168 (colored) next main 1.169 (colored)

sync with head.

Revision 1.168.2.3 / (download) - annotate - [select for diffs], Fri Mar 23 20:16:55 2007 UTC (17 years ago) by ad
Branch: yamt-idlelwp
Changes since 1.168.2.2: +7 -16 lines
Diff to previous 1.168.2.2 (colored) to branchpoint 1.168 (colored)

curlwp is never NULL now.

Revision 1.170.2.4 / (download) - annotate - [select for diffs], Fri Mar 23 19:27:07 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.170.2.3: +49 -21 lines
Diff to previous 1.170.2.3 (colored)

- Don't call copyout with bqueue_lock held.
- Eliminate last uses of splbio/splx.
- Fix some comments.
- Wrap some long lines.

Revision 1.170.2.3 / (download) - annotate - [select for diffs], Fri Mar 23 18:51:10 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.170.2.2: +3 -3 lines
Diff to previous 1.170.2.2 (colored)

brelse: clear the buffer structure after BUF_DESTROY.

Revision 1.171.4.1 / (download) - annotate - [select for diffs], Mon Mar 19 23:27:18 2007 UTC (17 years ago) by reinoud
Branch: reinoud-bufcleanup
Changes since 1.171: +3 -3 lines
Diff to previous 1.171 (colored) next main 1.172 (colored)

Remove direct references to buf->b_un.b_addr instead of using buf->b_data.
This allows UVM- or other structures to be used eventually.

Revision 1.170.2.2 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:00 2007 UTC (17 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.170.2.1: +145 -150 lines
Diff to previous 1.170.2.1 (colored)

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

Revision 1.170.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 16:51:58 2007 UTC (17 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.170: +6 -5 lines
Diff to previous 1.170 (colored)

Sync with head.

Revision 1.171 / (download) - annotate - [select for diffs], Mon Mar 12 18:18:34 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic
Branch point for: reinoud-bufcleanup, mjf-ufs-trans
Changes since 1.170: +6 -5 lines
Diff to previous 1.170 (colored)

Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.

Revision 1.168.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 05:58:45 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.168.2.1: +9 -9 lines
Diff to previous 1.168.2.1 (colored) to branchpoint 1.168 (colored)

Sync with HEAD.

Revision 1.170 / (download) - annotate - [select for diffs], Sun Mar 4 06:03:11 2007 UTC (17 years, 1 month ago) by christos
Branch: MAIN
Branch point for: vmlocking
Changes since 1.169: +9 -9 lines
Diff to previous 1.169 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.168.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:34 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.168: +3 -3 lines
Diff to previous 1.168 (colored)

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

Revision 1.146.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:11:21 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.2: +5 -5 lines
Diff to previous 1.146.2.2 (colored) to branchpoint 1.146 (colored)

sync with head.

Revision 1.169 / (download) - annotate - [select for diffs], Thu Feb 22 06:34:45 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.168: +3 -3 lines
Diff to previous 1.168 (colored)

TRUE -> true, FALSE -> false

Revision 1.168 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:32 2007 UTC (17 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.167: +4 -4 lines
Diff to previous 1.167 (colored)

Merge newlock2 to head.

Revision 1.162.2.3 / (download) - annotate - [select for diffs], Tue Jan 30 13:51:42 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.162.2.2: +3 -3 lines
Diff to previous 1.162.2.2 (colored) to branchpoint 1.162 (colored) next main 1.163 (colored)

Remove support for SA. Ok core@.

Revision 1.146.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:50:07 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146.2.1: +11 -5 lines
Diff to previous 1.146.2.1 (colored) to branchpoint 1.146 (colored)

sync with head.

Revision 1.162.2.2 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:44 2006 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.162.2.1: +3 -3 lines
Diff to previous 1.162.2.1 (colored) to branchpoint 1.162 (colored)

Checkpoint work in progress.

Revision 1.163.2.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:18:46 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.163.2.1: +7 -7 lines
Diff to previous 1.163.2.1 (colored) to branchpoint 1.163 (colored) next main 1.164 (colored)

sync with head.

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

Sync with head.

Revision 1.167 / (download) - annotate - [select for diffs], Tue Nov 14 15:50:00 2006 UTC (17 years, 5 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.166: +3 -3 lines
Diff to previous 1.166 (colored)

Export nestiobuf_iodone(). This allows nested iobufs to have a custom
call-back function that can then call the nestiobuf_iodone() to propagate.

Revision 1.166 / (download) - annotate - [select for diffs], Wed Nov 1 10:17:59 2006 UTC (17 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.165: +6 -6 lines
Diff to previous 1.165 (colored)

remove some __unused from function parameters.

Revision 1.163.2.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:11 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.163: +10 -7 lines
Diff to previous 1.163 (colored)

sync with head

Revision 1.165 / (download) - annotate - [select for diffs], Mon Oct 16 16:50:12 2006 UTC (17 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.164: +6 -3 lines
Diff to previous 1.164 (colored)

with the introduction of 512 byte buffers, the index in the array is not
the number of kilobytes anymore, so name the pools appropriately.

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

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

Revision 1.156.2.6 / (download) - annotate - [select for diffs], Thu Sep 14 12:31:48 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.156.2.5: +6 -3 lines
Diff to previous 1.156.2.5 (colored) to branchpoint 1.156 (colored) next main 1.157 (colored)

sync with head.

Revision 1.163 / (download) - annotate - [select for diffs], Sun Sep 10 06:35:42 2006 UTC (17 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9
Branch point for: yamt-splraiseipl
Changes since 1.162: +3 -2 lines
Diff to previous 1.162 (colored)

unexport getnewbuf.

Revision 1.155.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:57:17 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.155: +23 -24 lines
Diff to previous 1.155 (colored) next main 1.156 (colored)

sync with head

Revision 1.162 / (download) - annotate - [select for diffs], Sun Sep 3 21:39:29 2006 UTC (17 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: rpaulo-netinet-merge-pcb-base
Branch point for: newlock2
Changes since 1.161: +5 -3 lines
Diff to previous 1.161 (colored)

use c99 initializers

Revision 1.156.2.5 / (download) - annotate - [select for diffs], Mon Jun 26 12:52:57 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.156.2.4: +7 -7 lines
Diff to previous 1.156.2.4 (colored) to branchpoint 1.156 (colored)

sync with head.

Revision 1.146.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:09:39 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.146: +184 -43 lines
Diff to previous 1.146 (colored)

sync with head.

Revision 1.160.2.1 / (download) - annotate - [select for diffs], Mon Jun 19 04:07:16 2006 UTC (17 years, 9 months ago) by chap
Branch: chap-midi
Changes since 1.160: +7 -7 lines
Diff to previous 1.160 (colored) next main 1.161 (colored)

Sync with head.

Revision 1.155.4.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:38:10 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.155.4.1: +13 -12 lines
Diff to previous 1.155.4.1 (colored) next main 1.156 (colored)

Sync with head.

Revision 1.161 / (download) - annotate - [select for diffs], Thu May 25 14:27:28 2006 UTC (17 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.160: +5 -5 lines
Diff to previous 1.160 (colored)

move wait points for kva from upper layers to vm_map.  PR/33185 #1.

XXX there is a concern about interaction with kva fragmentation.
see: http://mail-index.NetBSD.org/tech-kern/2006/05/11/0000.html

Revision 1.157.4.2 / (download) - annotate - [select for diffs], Wed May 24 15:50:42 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.157.4.1: +9 -7 lines
Diff to previous 1.157.4.1 (colored) to branchpoint 1.157 (colored) next main 1.158 (colored)

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

Revision 1.156.2.4 / (download) - annotate - [select for diffs], Wed May 24 10:58:42 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.156.2.3: +8 -7 lines
Diff to previous 1.156.2.3 (colored) to branchpoint 1.156 (colored)

sync with head.

Revision 1.160 / (download) - annotate - [select for diffs], Sun May 14 21:15:12 2006 UTC (17 years, 11 months ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base5
Branch point for: chap-midi
Changes since 1.159: +8 -7 lines
Diff to previous 1.159 (colored)

integrate kauth.

Revision 1.157.2.3 / (download) - annotate - [select for diffs], Sat May 6 23:31:31 2006 UTC (17 years, 11 months ago) by christos
Branch: elad-kernelauth
Changes since 1.157.2.2: +3 -2 lines
Diff to previous 1.157.2.2 (colored) to branchpoint 1.157 (colored) next main 1.158 (colored)

- Move kauth_cred_t declaration to <sys/types.h>
- Cleanup struct ucred; forward declarations that are unused.
- Don't include <sys/kauth.h> in any header, but include it in the c files
  that need it.

Approved by core.

Revision 1.155.4.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:00 2006 UTC (17 years, 11 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.155: +9 -13 lines
Diff to previous 1.155 (colored)

Sync with head.

Revision 1.157.2.2 / (download) - annotate - [select for diffs], Wed Apr 19 05:14:00 2006 UTC (17 years, 11 months ago) by elad
Branch: elad-kernelauth
Changes since 1.157.2.1: +8 -7 lines
Diff to previous 1.157.2.1 (colored) to branchpoint 1.157 (colored)

sync with head.

Revision 1.156.2.3 / (download) - annotate - [select for diffs], Tue Apr 11 11:55:48 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.156.2.2: +3 -2 lines
Diff to previous 1.156.2.2 (colored) to branchpoint 1.156 (colored)

sync with head

Revision 1.159 / (download) - annotate - [select for diffs], Wed Apr 5 00:52:16 2006 UTC (18 years ago) by uwe
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, elad-kernelauth-base
Changes since 1.158: +3 -2 lines
Diff to previous 1.158 (colored)

Tell config to generate fs_ffs.h as vfs_bio.c checks for defined(FFS).
Include that header in vfs_bio.c so that bioops are not redefined.

Revision 1.156.2.2 / (download) - annotate - [select for diffs], Sat Apr 1 12:07:41 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.156.2.1: +7 -7 lines
Diff to previous 1.156.2.1 (colored) to branchpoint 1.156 (colored)

sync with head.

Revision 1.157.4.1 / (download) - annotate - [select for diffs], Tue Mar 28 09:42:27 2006 UTC (18 years ago) by tron
Branch: peter-altq
Changes since 1.157: +7 -7 lines
Diff to previous 1.157 (colored)

Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.

Revision 1.158 / (download) - annotate - [select for diffs], Fri Mar 17 23:43:37 2006 UTC (18 years, 1 month ago) by tls
Branch: MAIN
CVS Tags: yamt-pdpolicy-base3
Changes since 1.157: +7 -7 lines
Diff to previous 1.157 (colored)

Add one more buffer pool, for 512-byte buffers.  On the one hand, most
systems will never, ever need this -- because they use 8k/1k or even,
these days, 16k/2k or 32k/4k filesystems.  On the other hand, when you
do need this, you *really* need it: on anoncvs.netbsd.org, for instance,
where /tmp is 4k/512 and the filesystem contains tens or even hundreds
of thousands of single-frag directories, this essentially doubles the
efficiency of the allocator.  Since the overhead of keeping one extra
pool around is minimal, just add it by default.

Revision 1.156.2.1 / (download) - annotate - [select for diffs], Mon Mar 13 09:07:33 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.156: +2 -7 lines
Diff to previous 1.156 (colored)

sync with head.

Revision 1.157.2.1 / (download) - annotate - [select for diffs], Wed Mar 8 00:53:41 2006 UTC (18 years, 1 month ago) by elad
Branch: elad-kernelauth
Changes since 1.157: +7 -7 lines
Diff to previous 1.157 (colored)

Adapt to kernel authorization KPI.

Revision 1.157 / (download) - annotate - [select for diffs], Sun Mar 5 16:57:16 2006 UTC (18 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-pdpolicy-base2, peter-altq-base
Branch point for: peter-altq, elad-kernelauth
Changes since 1.156: +2 -7 lines
Diff to previous 1.156 (colored)

Move ISSET/SET/CLR macros to sys/types.h

Revision 1.148.2.3 / (download) - annotate - [select for diffs], Sat Feb 18 15:39:18 2006 UTC (18 years, 1 month ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.148.2.2: +3 -3 lines
Diff to previous 1.148.2.2 (colored) next main 1.149 (colored)

sync with head.

Revision 1.156 / (download) - annotate - [select for diffs], Sat Feb 4 12:02:35 2006 UTC (18 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base
Branch point for: yamt-pdpolicy
Changes since 1.155: +3 -3 lines
Diff to previous 1.155 (colored)

nestiobuf_iodone: remove a comment which is no longer true.

Revision 1.148.2.2 / (download) - annotate - [select for diffs], Wed Feb 1 14:52:20 2006 UTC (18 years, 2 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.148.2.1: +19 -10 lines
Diff to previous 1.148.2.1 (colored)

sync with head.

Revision 1.155 / (download) - annotate - [select for diffs], Sat Jan 21 14:09:35 2006 UTC (18 years, 2 months ago) by reinoud
Branch: MAIN
Branch point for: simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.154: +19 -10 lines
Diff to previous 1.154 (colored)

Propagate an appropiate error code in nestiobuf_iodone() to the master
buffer when the passed nested buffer has no B_ERROR flag set but not all
was transfered for the nested iobuf extent.

Discussed on tech-kern and ok'd by Takashi

Revision 1.148.2.1 / (download) - annotate - [select for diffs], Sun Jan 15 10:02:56 2006 UTC (18 years, 3 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.148: +148 -13 lines
Diff to previous 1.148 (colored)

sync with head.

Revision 1.154 / (download) - annotate - [select for diffs], Sun Jan 15 09:01:02 2006 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.153: +9 -0 lines
Diff to previous 1.153 (colored)

allocbuf: yield cpu in a loop.

Revision 1.153 / (download) - annotate - [select for diffs], Sun Jan 15 08:27:07 2006 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.152: +3 -7 lines
Diff to previous 1.152 (colored)

- use POOL_INIT for bufpool.
- make bufiopool static.

Revision 1.152 / (download) - annotate - [select for diffs], Wed Jan 11 00:44:41 2006 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.151: +89 -0 lines
Diff to previous 1.151 (colored)

add nestiobuf api for convenience when splitting a request to several pieces.

Revision 1.151 / (download) - annotate - [select for diffs], Sat Jan 7 00:26:58 2006 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.150: +2 -5 lines
Diff to previous 1.150 (colored)

remove B_EINTR as it isn't used anymore.

Revision 1.150 / (download) - annotate - [select for diffs], Thu Jan 5 10:18:20 2006 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.149: +6 -2 lines
Diff to previous 1.149 (colored)

use a dedicated buf pool for getiobuf.

Revision 1.149 / (download) - annotate - [select for diffs], Wed Jan 4 10:13:05 2006 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.148: +43 -3 lines
Diff to previous 1.148 (colored)

- add simple functions to allocate/free a buffer for i/o.
- make bufpool static.

Revision 1.148 / (download) - annotate - [select for diffs], Sat Dec 24 19:12:23 2005 UTC (18 years, 3 months ago) by perry
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.147: +14 -14 lines
Diff to previous 1.147 (colored)

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

Revision 1.147 / (download) - annotate - [select for diffs], Sun Dec 11 12:24:30 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.146: +2 -2 lines
Diff to previous 1.146 (colored)

merge ktrace-lwp.

Revision 1.92.2.11 / (download) - annotate - [select for diffs], Thu Nov 10 14:09:45 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.10: +3 -3 lines
Diff to previous 1.92.2.10 (colored) next main 1.93 (colored)

Sync with HEAD. Here we go again...

Revision 1.146 / (download) - annotate - [select for diffs], Thu Jun 9 02:19:59 2005 UTC (18 years, 10 months ago) by atatat
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Branch point for: yamt-lazymbuf
Changes since 1.145: +3 -4 lines
Diff to previous 1.145 (colored)

Properly fix the constipated lossage wrt -Wcast-qual and the sysctl
code.  I know it's not the prettiest code, but it seems to work rather
well in spite of itself.

Revision 1.145 / (download) - annotate - [select for diffs], Sun May 29 22:24:15 2005 UTC (18 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.144: +5 -4 lines
Diff to previous 1.144 (colored)

- add const.
- remove unnecessary casts.
- add __UNCONST casts and mark them with XXXUNCONST as necessary.

Revision 1.122.2.4.2.1 / (download) - annotate - [select for diffs], Wed May 11 15:14:49 2005 UTC (18 years, 11 months ago) by riz
Branch: netbsd-2
CVS Tags: netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1
Changes since 1.122.2.4: +9 -7 lines
Diff to previous 1.122.2.4 (colored) next main 1.123 (colored)

Pull up revision 1.143 (requested by chs in ticket #1380):
fix validation of new values when setting vm.{hi,low}water.  fixes PR 29651.

Revision 1.141.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:24 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.141: +23 -19 lines
Diff to previous 1.141 (colored) next main 1.142 (colored)

sync with -current

Revision 1.142.2.1 / (download) - annotate - [select for diffs], Sun Apr 3 13:28:23 2005 UTC (19 years ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.142: +9 -7 lines
Diff to previous 1.142 (colored) next main 1.143 (colored)

Pull up revision 1.143 (requested by chs in ticket #82):
fix validation of new values when setting vm.{hi,low}water.  fixes PR 29651.

Revision 1.92.2.10 / (download) - annotate - [select for diffs], Fri Apr 1 14:30:57 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.9: +15 -11 lines
Diff to previous 1.92.2.9 (colored)

Sync with HEAD.

Revision 1.144 / (download) - annotate - [select for diffs], Fri Apr 1 11:59:37 2005 UTC (19 years ago) by yamt
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.143: +8 -6 lines
Diff to previous 1.143 (colored)

merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.

Revision 1.143 / (download) - annotate - [select for diffs], Thu Mar 31 02:34:10 2005 UTC (19 years ago) by chs
Branch: MAIN
Changes since 1.142: +9 -7 lines
Diff to previous 1.142 (colored)

fix validation of new values when setting vm.{hi,low}water.  fixes PR 29651.

Revision 1.141.4.2 / (download) - annotate - [select for diffs], Sat Mar 19 08:36:12 2005 UTC (19 years ago) by yamt
Branch: yamt-km
Changes since 1.141.4.1: +10 -10 lines
Diff to previous 1.141.4.1 (colored) to branchpoint 1.141 (colored) next main 1.142 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.92.2.9 / (download) - annotate - [select for diffs], Fri Mar 4 16:52:03 2005 UTC (19 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.8: +10 -10 lines
Diff to previous 1.92.2.8 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.142 / (download) - annotate - [select for diffs], Sat Feb 26 21:34:56 2005 UTC (19 years, 1 month ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.141: +10 -10 lines
Diff to previous 1.141 (colored)

nuke trailing whitespace

Revision 1.141.4.1 / (download) - annotate - [select for diffs], Tue Jan 25 12:59:35 2005 UTC (19 years, 2 months ago) by yamt
Branch: yamt-km
Changes since 1.141: +8 -6 lines
Diff to previous 1.141 (colored)

convert to new apis.

Revision 1.92.2.8 / (download) - annotate - [select for diffs], Mon Jan 17 19:32:26 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.7: +6 -3 lines
Diff to previous 1.92.2.7 (colored)

Sync with HEAD.

Revision 1.141 / (download) - annotate - [select for diffs], Mon Jan 10 15:29:50 2005 UTC (19 years, 3 months ago) by tls
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge
Branch point for: yamt-km, kent-audio2
Changes since 1.140: +5 -2 lines
Diff to previous 1.140 (colored)

Users have observed that the amount of memory used by the metadata cache
can in some situations exceed the high-water mark, and stay there once it
gets there.  Adjust the canrelease function so that it will immediately
bring us back down to the high-water mark in this situation.

How can this happen at all?  Consider a machine with two filesystems, one
with a much larger blocksize than the other.  If the small-block filesystem
is very busy, growing the cache up to the high-water mark, and then the
large-block filesystem becomes busy, buffers will be recycled (since we
are at the high-water mark) but _grow each time they're recycled_.  Once
we're above the high-water mark, the canrelease call in allocbuf (without
this change) doesn't shrink us back down below it; so things get worse and
worse.

Revision 1.140 / (download) - annotate - [select for diffs], Thu Dec 23 20:11:28 2004 UTC (19 years, 3 months ago) by dbj
Branch: MAIN
Changes since 1.139: +3 -3 lines
Diff to previous 1.139 (colored)

also define bioops if FFS is not defined.

Revision 1.92.2.7 / (download) - annotate - [select for diffs], Sat Dec 18 09:32:35 2004 UTC (19 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.6: +3 -3 lines
Diff to previous 1.92.2.6 (colored)

Sync with HEAD.

Revision 1.139 / (download) - annotate - [select for diffs], Sun Dec 5 06:12:54 2004 UTC (19 years, 4 months ago) by jrf
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.138: +4 -4 lines
Diff to previous 1.138 (colored)

Fix previous commit, got bufcache and bufmem messages reversed.

Revision 1.138 / (download) - annotate - [select for diffs], Sun Dec 5 06:00:20 2004 UTC (19 years, 4 months ago) by jrf
Branch: MAIN
Changes since 1.137: +3 -3 lines
Diff to previous 1.137 (colored)

Change sysctl -d vm.bufcache to say percent of physical memory not
kernel memory. Addresses PR misc/27233. Approved by atatat@netbsd.org.

Revision 1.92.2.6 / (download) - annotate - [select for diffs], Mon Nov 29 07:24:51 2004 UTC (19 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.5: +5 -2 lines
Diff to previous 1.92.2.5 (colored)

Sync with HEAD.

Revision 1.137 / (download) - annotate - [select for diffs], Sat Nov 13 19:16:18 2004 UTC (19 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.136: +5 -2 lines
Diff to previous 1.136 (colored)

PR/25749: Peter Postma: Missing splx() in kernel.

Revision 1.92.2.5 / (download) - annotate - [select for diffs], Tue Oct 19 15:58:07 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.4: +43 -29 lines
Diff to previous 1.92.2.4 (colored)

Sync with HEAD

Revision 1.122.2.4 / (download) - annotate - [select for diffs], Fri Oct 8 03:25:15 2004 UTC (19 years, 6 months ago) by jmc
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE
Branch point for: netbsd-2
Changes since 1.122.2.3: +42 -28 lines
Diff to previous 1.122.2.3 (colored) to branchpoint 1.122 (colored) next main 1.123 (colored)

Pullup rev 1.133-1.136 (requested by simonb in ticket #908)

- Dont let pagedaemon sleep while draining buf.
- Estimate amount of memory to free at a time.
- Factor out code to set watermark and ensure high > low.
- Make the step of allocation possibility a bit seamless by moving the origin
  of curve from 0 to lowater mark.
Improves interactive performance when there is heavy disk activity.
PR#27057

Revision 1.136 / (download) - annotate - [select for diffs], Mon Oct 4 01:24:18 2004 UTC (19 years, 6 months ago) by enami
Branch: MAIN
Changes since 1.135: +9 -4 lines
Diff to previous 1.135 (colored)

- Testing low memory condition to see if we should alloc or not doesn't make
  sense, since 1) the condition is quite normal condition and 2) there is
  pool between us and uvm.
- Make the step of allocation possibility a bit seamless by moving the origin
  of curve from 0 to lowater mark.
Simon told that this helps for interactive performance when there is heavy
disk activity in PR#27057.

Revision 1.135 / (download) - annotate - [select for diffs], Mon Oct 4 00:46:05 2004 UTC (19 years, 6 months ago) by enami
Branch: MAIN
Changes since 1.134: +19 -14 lines
Diff to previous 1.134 (colored)

Factor out code to set watermark and ensure high > low.

Revision 1.134 / (download) - annotate - [select for diffs], Sun Oct 3 08:47:48 2004 UTC (19 years, 6 months ago) by enami
Branch: MAIN
Changes since 1.133: +18 -13 lines
Diff to previous 1.133 (colored)

- Don't let pagedaemon sleep while draining buf.
- Estimate amount of memory to free at a time.
Address PR#27057 (and similar hangs I saw several months ago).

Revision 1.133 / (download) - annotate - [select for diffs], Sun Oct 3 08:30:09 2004 UTC (19 years, 6 months ago) by enami
Branch: MAIN
Changes since 1.132: +3 -4 lines
Diff to previous 1.132 (colored)

x > 15 is always false if x is 0 .. 15.
# XXX: testing free memory here is quite doubtful.  also, I guess lowater
# XXX: is better than 0 as origin.

Revision 1.132 / (download) - annotate - [select for diffs], Sun Oct 3 08:17:54 2004 UTC (19 years, 6 months ago) by enami
Branch: MAIN
Changes since 1.131: +3 -3 lines
Diff to previous 1.131 (colored)

Cheap test first.

Revision 1.92.2.4 / (download) - annotate - [select for diffs], Fri Sep 24 10:53:43 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.3: +86 -62 lines
Diff to previous 1.92.2.3 (colored)

Sync with HEAD.

Revision 1.92.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:35:17 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.2: +2 -2 lines
Diff to previous 1.92.2.2 (colored)

Fix the sync with head I botched.

Revision 1.131 / (download) - annotate - [select for diffs], Sat Sep 18 16:37:12 2004 UTC (19 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.130: +66 -53 lines
Diff to previous 1.130 (colored)

fix allocbuf() O(n**2) behaviour where n is number of AGE buffers
by always tracking amount of buffers on a queue.
bump to 2.0H.

Revision 1.130 / (download) - annotate - [select for diffs], Sat Sep 18 16:01:03 2004 UTC (19 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.129: +24 -13 lines
Diff to previous 1.129 (colored)

- add missing function prototypes.
- fix prototype mismatches.

Revision 1.92.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:53:04 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92.2.1: +3 -13 lines
Diff to previous 1.92.2.1 (colored)

Sync with HEAD.

Revision 1.129 / (download) - annotate - [select for diffs], Wed Sep 8 10:20:15 2004 UTC (19 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.128: +3 -13 lines
Diff to previous 1.128 (colored)

buf_trim: a buffer grabbed by getnewbuf() should be clean and anonymous.
thus, there's no need to check and handle B_WANTED here.

Revision 1.92.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:52:59 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.92: +840 -180 lines
Diff to previous 1.92 (colored)

Sync with HEAD

Revision 1.122.2.3 / (download) - annotate - [select for diffs], Tue Jun 22 09:01:03 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1
Changes since 1.122.2.2: +13 -5 lines
Diff to previous 1.122.2.2 (colored) to branchpoint 1.122 (colored)

Pull up revision 1.127 (requested by thorpej in ticket #524):
When initializing the buffer cache memory pools where the size <=
PAGE_SIZE,
also use the standard allocator on systems that use a direct-mapped
memory
segment for mapping pool pages.

Revision 1.122.2.2 / (download) - annotate - [select for diffs], Tue Jun 22 08:56:51 2004 UTC (19 years, 9 months ago) by tron
Branch: netbsd-2-0
Changes since 1.122.2.1: +4 -3 lines
Diff to previous 1.122.2.1 (colored) to branchpoint 1.122 (colored)

Pull up revision 1.126 (requested by thorpej in ticket #523):
Don't use PR_IMMEDRELEASE on buffer cache pools.  Instead, set a high
water mark of 1, which will have the same effect.
Pointed out back in January by YAMAMOTO Takashi.

Revision 1.128 / (download) - annotate - [select for diffs], Sun Jun 20 18:55:58 2004 UTC (19 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.127: +7 -2 lines
Diff to previous 1.127 (colored)

- Add flag L_COWINPROGRESS to struct lwp to avoid recursion when
  doing copy-on-write.

- Change VFS_SNAPSHOT() to return the snapshot vnode locked.

- Make the IO path for copy-on-write and snapshot-read more lightweight.
  Avoids deadlocks where vn_rdwr(...READ...) has a shared lock and needs
  to copy-on-write.
  Avoids deadlocks/panics where to clean pages the copy-on-write needs
  to allocate pages for its VOP_PUTPAGES().

L_COWINPROGRESS part approved by: Jason R. Thorpe <thorpej@netbsd.org>

Revision 1.127 / (download) - annotate - [select for diffs], Sun Jun 20 18:29:47 2004 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.126: +13 -5 lines
Diff to previous 1.126 (colored)

When initializing the buffer cache memory pools where the size <= PAGE_SIZE,
also use the standard allocator on systems that use a direct-mapped memory
segment for mapping pool pages.

Revision 1.126 / (download) - annotate - [select for diffs], Sun Jun 20 18:17:09 2004 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.125: +4 -3 lines
Diff to previous 1.125 (colored)

Don't use PR_IMMEDRELEASE on buffer cache pools.  Instead, set a high
water mark of 1, which will have the same effect.

Pointed out back in January by YAMAMOTO Takashi.

Revision 1.122.2.1 / (download) - annotate - [select for diffs], Wed May 26 20:15:02 2004 UTC (19 years, 10 months ago) by he
Branch: netbsd-2-0
Changes since 1.122: +16 -7 lines
Diff to previous 1.122 (colored)

Pull up revision 1.125 (requested by atatat in ticket #388):
  Add remaining sysctl descriptions under kern subtree.

Revision 1.125 / (download) - annotate - [select for diffs], Tue May 25 04:30:33 2004 UTC (19 years, 10 months ago) by atatat
Branch: MAIN
Changes since 1.124: +16 -7 lines
Diff to previous 1.124 (colored)

Remaining sysctl descriptions under kern subtree

Revision 1.124 / (download) - annotate - [select for diffs], Sun Apr 25 12:41:12 2004 UTC (19 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.123: +6 -10 lines
Diff to previous 1.123 (colored)

bio_doread: vp is always non-NULL here.

Revision 1.123 / (download) - annotate - [select for diffs], Wed Apr 21 01:05:38 2004 UTC (19 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.122: +24 -2 lines
Diff to previous 1.122 (colored)

Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.

Revision 1.122 / (download) - annotate - [select for diffs], Fri Mar 26 00:31:55 2004 UTC (20 years ago) by simonb
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.121: +21 -6 lines
Diff to previous 1.121 (colored)

Give buf_lotsfree() a bit of a service:
- Fix a 32-bit overflow that could erroneously return true even if the
  currently allocated buffer memory was greater than the high water mark.
- Add an early check for bufmem > hiwater to avoid a needless call to
  random().
- Sprinkle some comments.

Add a vm.bufmem sysctl so the current bufmem value can be easily queried
from userland.

Reviewed by Thor Simon.

Revision 1.121 / (download) - annotate - [select for diffs], Thu Mar 25 23:17:16 2004 UTC (20 years ago) by simonb
Branch: MAIN
Changes since 1.120: +5 -5 lines
Diff to previous 1.120 (colored)

More white space nits.

Revision 1.120 / (download) - annotate - [select for diffs], Thu Mar 25 08:22:31 2004 UTC (20 years ago) by simonb
Branch: MAIN
Changes since 1.119: +3 -3 lines
Diff to previous 1.119 (colored)

White-space nit.

Revision 1.119 / (download) - annotate - [select for diffs], Wed Mar 24 15:34:53 2004 UTC (20 years ago) by atatat
Branch: MAIN
Changes since 1.118: +14 -8 lines
Diff to previous 1.118 (colored)

Tango on sysctl_createv() and flags.  The flags have all been renamed,
and sysctl_createv() now uses more arguments.

Revision 1.118 / (download) - annotate - [select for diffs], Sun Feb 22 01:00:41 2004 UTC (20 years, 1 month ago) by dan
Branch: MAIN
Changes since 1.117: +5 -5 lines
Diff to previous 1.117 (colored)

micro-optimisation - if we're going to return 0, do so before doing
other unnecessary work

Revision 1.117 / (download) - annotate - [select for diffs], Thu Feb 19 03:56:30 2004 UTC (20 years, 1 month ago) by atatat
Branch: MAIN
Changes since 1.116: +78 -45 lines
Diff to previous 1.116 (colored)

Add PTRTOUINT64() and UINT64TOPTR() macros to sys/sysctl.h for use by
kern.proc, kern.proc2, kern.lwp, and kern.buf.

Define more MIB for kern.buf so that specific buffers can be selected
(only all/all is supported right now), and use a 32/64 bit agnostic
structure for communcating buffer information to userland.

Convert systat to the new kern.buf method.

Clean up the vm.buf* handling a little.  There's no actual need to
record the dynamically assigned OIDs, since sysctl_data can tell us
what we're looking at.

Oh, and fix a typo in a comment.

Revision 1.116 / (download) - annotate - [select for diffs], Mon Feb 16 09:34:15 2004 UTC (20 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.115: +11 -5 lines
Diff to previous 1.115 (colored)

- raise ipl when calling buf_canrelease() because it traverses buffer queue.
- correct/add comments on buf_canrelease().

Revision 1.115 / (download) - annotate - [select for diffs], Wed Feb 11 17:36:31 2004 UTC (20 years, 2 months ago) by tls
Branch: MAIN
Changes since 1.114: +17 -7 lines
Diff to previous 1.114 (colored)

Fix bug noted by yamt@netbsd.org: the UVM free target is in *pages*,
so the last change has us comparing pages to bytes instead of pages
to buffers!  The consequence was to try to free radically less memory
than UVM wanted us to -- though always at least one buffer, which is
probably why the results weren't dire.

This does suggest that buf_canrelease() could be a *lot* more
conservative about how much to release than "2 * page deficit".  In
fact, serious trouble seems to ensue if it's not -- when anything
else on the system demands enough pages, we slam down to the low
water mark nd stay there.  I've adjusted it to use min(page defecit,
buffer memory / 16), which still isn't quite right but seems better.

Another change: consider the case of an infinite loop that does
"tar xzf pkgsrc.tar.gz ; rm -rf pkgsrc".  Each time the rm runs,
all the dead metadata will go on the AGE list -- and, until we hit
the high-water mark, stay there, at which point it may be slowly
recycled.  Two adjustments seem to solve this:  1) whack buf_lotsfree()
to return 0 if there's anything on the AGE list; 2) whack buf_canrelease()
to count the memory used by the AGE list and always return at least
that much.

This basically turns the AGE list into a "delayed free" list, since we
can't entirely eliminate it as we can't free pool items from interrupt
context (e.g. from biodone()).

To consider: with the bookkeeping corrected, should buf_drain() move
back to the _end_ of the pagedaemon, and should the calculation then
try to give back at least the current defecit?

Revision 1.114 / (download) - annotate - [select for diffs], Fri Jan 30 11:32:16 2004 UTC (20 years, 2 months ago) by tls
Branch: MAIN
Changes since 1.113: +29 -11 lines
Diff to previous 1.113 (colored)

Buffer cache fixes to avoid thrashing between high and low water marks
and uncontrolled growth.

The key fix is from Dan Carasone, who noticed that buf_canfree() was
counting in _bytes_ but freeing in _buffers_, which caused the instant
drop to lowater observed by some users.

We now control the rate of growth; the probability of getting a new
allocation is inversely proportional to the current size of the
cache.  This idea is from a long-ago conversation with Kirk McKusick
and, if memory serves, was used for the file-system cache in some
other BSD variant at some point in history.

With growth and shrinkage more or less dealt with, we return the
default maximum cache size to 15%.  The default _minimum_ cache size
is raised from 1/16 of the maximum cache size to 1/8, since 1/16 was
chosen when the maximum size was 30% of memory.

Finally, after observing the behaviour of the pagedaemon and the
buffer cache drainer under pathological workloads (e.g. a benchmark
that steps through 75% of available memory backwards) I have moved
the call to buf_drain() to the beginning of the pagedaemon from the
end; if the pagedaemon bogs down, it still won't get run as often
as it should, but at least this way it will see the state of the
free count and free target _before_ the scan step does its thing.

Revision 1.113 / (download) - annotate - [select for diffs], Tue Jan 27 11:35:23 2004 UTC (20 years, 2 months ago) by dan
Branch: MAIN
Changes since 1.112: +3 -3 lines
Diff to previous 1.112 (colored)

Reduce the default BUFCACHE to 10% for now.  Too many users are
tripping over this getting too large, and suffering other performance
problems due to the lack of good backpressure shrinking the bufcache
when other memory is required.  Again, this tunable should be
revisited when the backpressure mechanism has been improved.

sysctl vm.bufcache can be used to manually tune those rare machines
that might need more than this.

See comments in rev 1.106 for more detail.

Revision 1.112 / (download) - annotate - [select for diffs], Sun Jan 25 18:02:04 2004 UTC (20 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.111: +4 -4 lines
Diff to previous 1.111 (colored)

Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.

VOP_STRATEGY(bp) is replaced by one of two new functions:

- VOP_STRATEGY(vp, bp)  Call the strategy routine of vp for bp.
- DEV_STRATEGY(bp)      Call the d_strategy routine of bp->b_dev for bp.

DEV_STRATEGY(bp) is used only for block-to-block device situations.

Revision 1.111 / (download) - annotate - [select for diffs], Mon Jan 19 11:57:42 2004 UTC (20 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.110: +5 -6 lines
Diff to previous 1.110 (colored)

bufpool_page_alloc: for no-wait allocations, specify UVM_KMF_TRYLOCK as well.

Revision 1.110 / (download) - annotate - [select for diffs], Thu Jan 15 09:03:26 2004 UTC (20 years, 3 months ago) by enami
Branch: MAIN
Changes since 1.109: +3 -3 lines
Diff to previous 1.109 (colored)

Obviously, sizeof(u_int) is not enough to copy struct buf.
Prevents ``sysctl -a'' from dumping core.

Revision 1.109 / (download) - annotate - [select for diffs], Sat Jan 10 14:43:05 2004 UTC (20 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.108: +3 -2 lines
Diff to previous 1.108 (colored)

reset i/o priority in geteblk() as well.

Revision 1.108 / (download) - annotate - [select for diffs], Sat Jan 10 14:39:50 2004 UTC (20 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.107: +13 -2 lines
Diff to previous 1.107 (colored)

store a i/o priority hint in struct buf for buffer queue discipline.

Revision 1.107 / (download) - annotate - [select for diffs], Fri Jan 9 19:01:01 2004 UTC (20 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.106: +3 -4 lines
Diff to previous 1.106 (colored)

Initialize buffer pools with PR_IMMEDRELEASE.  Don't use pool_reclaim()
on those pools; it is no longer necessary.

Revision 1.106 / (download) - annotate - [select for diffs], Fri Jan 9 06:26:15 2004 UTC (20 years, 3 months ago) by tls
Branch: MAIN
Changes since 1.105: +3 -3 lines
Diff to previous 1.105 (colored)

Change BUFCACHE (default hard limit on physmem consumption by metadata
cache) from 30% to 20%.  This seems to significantly smooth the oscillation
between "almost no memory available" and "UVM free target available" caused
by the current sudden, heavy backpressure on the metadata cache.  We should
revisit this again once the backpressure mechanism is better tuned; ideally,
the hard limit should almost never come into play, because the metadata
cache should gradually give back pages as buffers hit the AGE list and as
the page cache demands them, rather than giving back a big slug of pages
all at once when UVM decides it's in a hurry and fires off the page daemon.

Just how well this adjustment works is likely to vary significantly from
machine to machine depending on I/O mix, filesystem frag size, and total
memory.  However, 20% seems to be quite a bit better than 30% on several
systems I've tested and is, coincidentally, more than enough to cache
the entire metadata working set of the AnonCVS server with 100 clients,
which is a useful worst-case stake in the ground...

Revision 1.105 / (download) - annotate - [select for diffs], Thu Jan 8 23:41:14 2004 UTC (20 years, 3 months ago) by tls
Branch: MAIN
Changes since 1.104: +3 -2 lines
Diff to previous 1.104 (colored)

Add pool_reclaim() on pool to which we just pool_put() a buffer in
buf_mrelease().  Without this, though the pages are returned to the
relevant *pool*, they are never available for any other use in the
system.

Now the backpressure on the physical size of the buffer cache through
the buf_drain() call in the pagedaemon works correctly.  If anything,
it may be a bit more aggressive than intended.  On my 256MB system,
with vm.bufcache set to the default 30% of physmem, a kernel with this
fix can do 5 simultaneous config/makedep/builds of different NetBSD
kernels in 1313 seconds; with the "traditional" buffer cache code it
requires 1320 seconds.  Running "find / -type d -exec ls -l {}" while
the build is going demonstrates that the backpressure is working
correctly: free memory oscillates slowly between close to none and
the UVM target free, and vmstat -m shows a large number of releases
for the buffer pools.

For future work: how is "bufpl" memory returned to the system?  This
is not obvious to me (I must be looking in the wrong place).  Also,
buf_mrelease() is also called from brelse() in some cases.  Would it
be better to add a pool flag causing automatic release of full pages
as they become available (not fragmented)?  Jason Thorpe proposed this
and it seems more elegant than cleaning the _entire_ pool only upon
memory pressure.

Greg Oster did a lot of the work of figuring this out.  Jason proposed
the use of pool_reclaim as a way to fix it.

Revision 1.104 / (download) - annotate - [select for diffs], Tue Jan 6 13:51:09 2004 UTC (20 years, 3 months ago) by atatat
Branch: MAIN
Changes since 1.103: +17 -4 lines
Diff to previous 1.103 (colored)

Expose the buf_map symbol so that pmap(1) can find it.

Split the sysctl setup routine into two routines, one for each
"subtree".  Perhaps it's a little pedantic, but it's cleaner.  Also,
assert that the "kern" and "vm" nodes exist.

Revision 1.103 / (download) - annotate - [select for diffs], Sun Jan 4 16:17:13 2004 UTC (20 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.102: +3 -3 lines
Diff to previous 1.102 (colored)

bufpool_page_free: pass `buf_map' to uvm_km_free().

Revision 1.102 / (download) - annotate - [select for diffs], Wed Dec 31 14:37:17 2003 UTC (20 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.101: +3 -2 lines
Diff to previous 1.101 (colored)

getnewbuf: return buffer locked.

Revision 1.101 / (download) - annotate - [select for diffs], Tue Dec 30 20:40:39 2003 UTC (20 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.100: +53 -78 lines
Diff to previous 1.100 (colored)

Consistently use ANSI-style function decls.

Revision 1.100 / (download) - annotate - [select for diffs], Tue Dec 30 12:33:23 2003 UTC (20 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.99: +581 -123 lines
Diff to previous 1.99 (colored)

Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.

Revision 1.99 / (download) - annotate - [select for diffs], Tue Dec 2 04:18:19 2003 UTC (20 years, 4 months ago) by dbj
Branch: MAIN
Changes since 1.98: +32 -4 lines
Diff to previous 1.98 (colored)

when ifdef DEBUG and debug_verify_freelist != 0
then perform an expensive search of the buffer freelists
in brelse and bremfree to verify consistency

Revision 1.98 / (download) - annotate - [select for diffs], Tue Dec 2 03:36:33 2003 UTC (20 years, 4 months ago) by dbj
Branch: MAIN
Changes since 1.97: +6 -2 lines
Diff to previous 1.97 (colored)

add explanatory comment in bremfree:
 We break the TAILQ abstraction in order to efficiently remove a
 buffer from its freelist without having to know exactly which
 freelist it is on.

Revision 1.97 / (download) - annotate - [select for diffs], Sat Nov 8 04:22:35 2003 UTC (20 years, 5 months ago) by dbj
Branch: MAIN
Changes since 1.96: +13 -12 lines
Diff to previous 1.96 (colored)

protect a few uses of buf's b_flags with b_interlock

Revision 1.96 / (download) - annotate - [select for diffs], Wed Sep 24 10:44:44 2003 UTC (20 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.95: +11 -3 lines
Diff to previous 1.95 (colored)

in getblk(), don't call allocbuf() for B_LOCKED buffers.

LFS misses total size of B_LOCKED buffer (locked_queue_bytes) when
getblk() re-size them.

XXX maybe needs a better fix.

Revision 1.95 / (download) - annotate - [select for diffs], Sun Sep 7 11:59:40 2003 UTC (20 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.94: +3 -2 lines
Diff to previous 1.94 (colored)

buffer with B_CALL shouldn't be brelse'ed.  assert it.

Revision 1.94 / (download) - annotate - [select for diffs], Sun Sep 7 11:57:43 2003 UTC (20 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.93: +4 -2 lines
Diff to previous 1.93 (colored)

bremfree needs bqueue_slock held.  assert it.

Revision 1.93 / (download) - annotate - [select for diffs], Thu Aug 7 16:32:01 2003 UTC (20 years, 8 months ago) by agc
Branch: MAIN
Changes since 1.92: +32 -3 lines
Diff to previous 1.92 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.

Revision 1.92 / (download) - annotate - [select for diffs], Wed Apr 9 12:55:51 2003 UTC (21 years ago) by yamt
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.91: +3 -3 lines
Diff to previous 1.91 (colored)

remove B_NEEDCOMMIT as it's no longer used.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Feb 25 20:35:38 2003 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.90: +3 -4 lines
Diff to previous 1.90 (colored)

Add a new BUF_INIT() macro which initializes b_dep and b_interlock, and
use it.  This fixes a few places where either b_dep or b_interlock were
not properly initialized.

Revision 1.90 / (download) - annotate - [select for diffs], Thu Feb 6 11:46:49 2003 UTC (21 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.89: +6 -10 lines
Diff to previous 1.89 (colored)

bdwrite(): remove check for MFS major device number (why was 255 changed
to 4096?). In any case, bdevsw_lookup() will take care of it.

Revision 1.89 / (download) - annotate - [select for diffs], Thu Feb 6 11:22:35 2003 UTC (21 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.88: +4 -2 lines
Diff to previous 1.88 (colored)

In getnewbuf(), release the buffer queue lock before calling bawrite() and
re-acquire it afterward.

Revision 1.88 / (download) - annotate - [select for diffs], Thu Feb 6 09:46:46 2003 UTC (21 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.87: +5 -9 lines
Diff to previous 1.87 (colored)

Require the bdirty() be called at splbio() and with the buffer interlock held.
This is essentially just a helper routine called from biodone() through
ffs softdep's I/O completion, to re-queue the buffer.

Revision 1.87 / (download) - annotate - [select for diffs], Wed Feb 5 21:38:42 2003 UTC (21 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.86: +110 -40 lines
Diff to previous 1.86 (colored)

Make the buffer cache code MP-safe.

Revision 1.86 / (download) - annotate - [select for diffs], Sat Jan 18 10:06:37 2003 UTC (21 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.85: +16 -6 lines
Diff to previous 1.85 (colored)

Merge the nathanw_sa branch.

Revision 1.76.2.5 / (download) - annotate - [select for diffs], Thu Oct 10 18:43:20 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.76.2.4: +17 -18 lines
Diff to previous 1.76.2.4 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.74.2.11 / (download) - annotate - [select for diffs], Tue Sep 17 21:22:27 2002 UTC (21 years, 7 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.74.2.10: +16 -29 lines
Diff to previous 1.74.2.10 (colored) next main 1.75 (colored)

Catch up to -current.

Revision 1.85 / (download) - annotate - [select for diffs], Fri Sep 6 13:18:43 2002 UTC (21 years, 7 months ago) by gehenna
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.84: +10 -8 lines
Diff to previous 1.84 (colored)

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.

Revision 1.76.2.4 / (download) - annotate - [select for diffs], Fri Sep 6 08:48:18 2002 UTC (21 years, 7 months ago) by jdolecek
Branch: kqueue
Changes since 1.76.2.3: +4 -17 lines
Diff to previous 1.76.2.3 (colored) to branchpoint 1.76 (colored)

sync kqueue branch with HEAD

Revision 1.84 / (download) - annotate - [select for diffs], Wed Sep 4 01:32:46 2002 UTC (21 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.83: +9 -12 lines
Diff to previous 1.83 (colored)

Use the queue macros from <sys/queue.h> instead of referring to the queue
members directly.  Use *_FOREACH whenever possible.

Revision 1.81.2.3 / (download) - annotate - [select for diffs], Sat Aug 31 16:38:25 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.81.2.2: +3 -15 lines
Diff to previous 1.81.2.2 (colored) to branchpoint 1.81 (colored) next main 1.82 (colored)

catch up with -current.

Revision 1.83 / (download) - annotate - [select for diffs], Fri Aug 30 15:43:41 2002 UTC (21 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.82: +3 -15 lines
Diff to previous 1.82 (colored)

Remove the old device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@wasabisystems.com>

Revision 1.81.2.2 / (download) - annotate - [select for diffs], Thu Aug 29 05:23:15 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.81.2.1: +3 -4 lines
Diff to previous 1.81.2.1 (colored) to branchpoint 1.81 (colored)

catch up with -current.

Revision 1.74.2.10 / (download) - annotate - [select for diffs], Tue Aug 27 23:47:37 2002 UTC (21 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.9: +3 -4 lines
Diff to previous 1.74.2.9 (colored)

Catch up to -current.

Revision 1.82 / (download) - annotate - [select for diffs], Sun Aug 25 20:21:45 2002 UTC (21 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.81: +3 -4 lines
Diff to previous 1.81 (colored)

Make nbuf, nswbuf, and bufpages unsigned.  Make all operations on these
variables unsigned, and update places where their values are printed.

Revision 1.74.2.9 / (download) - annotate - [select for diffs], Wed Jul 17 18:02:23 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.8: +3 -3 lines
Diff to previous 1.74.2.8 (colored)

Fix up comparison to uvm.pagedaemon_proc.

Revision 1.74.2.8 / (download) - annotate - [select for diffs], Fri Jul 12 01:40:23 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.7: +2 -3 lines
Diff to previous 1.74.2.7 (colored)

No longer need to pull in lwp.h; proc.h pulls it in for us.

Revision 1.74.2.7 / (download) - annotate - [select for diffs], Mon Jun 24 22:11:06 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.6: +7 -7 lines
Diff to previous 1.74.2.6 (colored)

Curproc->curlwp renaming.

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

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

Revision 1.76.2.3 / (download) - annotate - [select for diffs], Sun Jun 23 17:49:42 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.76.2.2: +9 -27 lines
Diff to previous 1.76.2.2 (colored) to branchpoint 1.76 (colored)

catch up with -current on kqueue branch

Revision 1.74.2.6 / (download) - annotate - [select for diffs], Thu Jun 20 03:47:27 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.5: +6 -2 lines
Diff to previous 1.74.2.5 (colored)

Catch up to -current.

Revision 1.81.2.1 / (download) - annotate - [select for diffs], Thu May 16 04:12:26 2002 UTC (21 years, 11 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.81: +10 -8 lines
Diff to previous 1.81 (colored)

Replace the direct-access to devsw table with calling devsw APIs.

Revision 1.81 / (download) - annotate - [select for diffs], Sun May 12 23:06:27 2002 UTC (21 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Branch point for: gehenna-devsw
Changes since 1.80: +6 -2 lines
Diff to previous 1.80 (colored)

Eliminate commons.

Revision 1.74.2.5 / (download) - annotate - [select for diffs], Mon Apr 1 07:48:02 2002 UTC (22 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.4: +6 -29 lines
Diff to previous 1.74.2.4 (colored)

Catch up to -current.
(CVS: It's not just a program. It's an adventure!)

Revision 1.80 / (download) - annotate - [select for diffs], Sat Mar 16 23:49:59 2002 UTC (22 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: eeh-devprop-base, eeh-devprop
Changes since 1.79: +5 -27 lines
Diff to previous 1.79 (colored)

fix bread() to return errors from reading past the end of the device.
back in rev. 1.51, bread() and breadn() were changed to assume that
if B_DONE is set on a buffer returned by bio_doread(), that the buffer
must have already been in the cache, and thus the overall bread() should
return success.  but if the requested buffer is not in the cache and
is past the end of the device, bounds_check_with_label() will set B_ERROR
on the buffer and the caller will call biodone(), which will cause bread()
to think the buffer was already in the cache and thus return success.
to fix this, undo rev. 1.51 and instead have biowait() treat both B_DONE
and B_DELWRI as indicators that it doesn't need to sleep waiting for an
i/o to complete.

Revision 1.76.2.2 / (download) - annotate - [select for diffs], Sat Mar 16 16:01:53 2002 UTC (22 years, 1 month ago) by jdolecek
Branch: kqueue
Changes since 1.76.2.1: +5 -5 lines
Diff to previous 1.76.2.1 (colored) to branchpoint 1.76 (colored)

Catch up with -current.

Revision 1.79 / (download) - annotate - [select for diffs], Fri Mar 8 20:48:42 2002 UTC (22 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: newlock-base, newlock
Changes since 1.78: +3 -4 lines
Diff to previous 1.78 (colored)

Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.

Revision 1.74.2.4 / (download) - annotate - [select for diffs], Thu Feb 28 04:14:48 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.3: +4 -3 lines
Diff to previous 1.74.2.3 (colored)

Catch up to -current.

Revision 1.67.4.2 / (download) - annotate - [select for diffs], Wed Feb 13 22:11:34 2002 UTC (22 years, 2 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003
Changes since 1.67.4.1: +2 -2 lines
Diff to previous 1.67.4.1 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored)

Pull up revision 1.78 (via patch, requested by chs):
  Do not apply ``block size invariant'' for VBLK vnodes, since a
  buffer which crosses the end of the partition will be truncated.
  Fixes PR#7938, PR#12156, PR#12698, PR#13076, PR#13210, and
  PR#13288.

Revision 1.78 / (download) - annotate - [select for diffs], Sun Feb 10 23:14:18 2002 UTC (22 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.77: +4 -3 lines
Diff to previous 1.77 (colored)

getblk()'s "block size invariant" isn't valid for VBLK vnodes
since bounds_check_with_label() will truncate a buffer that crosses
the end of the partition.  adjust the assertion to account for this.
fixes PRs 7938, 12156, 12698, 13076, 13210 and 13288.

Revision 1.76.2.1 / (download) - annotate - [select for diffs], Thu Jan 10 20:00:17 2002 UTC (22 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.76: +4 -1 lines
Diff to previous 1.76 (colored)

Sync kqueue branch with -current.

Revision 1.74.2.3 / (download) - annotate - [select for diffs], Wed Nov 14 19:16:47 2001 UTC (22 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.2: +4 -1 lines
Diff to previous 1.74.2.2 (colored)

Catch up to -current.

Revision 1.76.6.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:00 2001 UTC (22 years, 5 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.76: +4 -1 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

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

Revision 1.77 / (download) - annotate - [select for diffs], Mon Nov 12 15:25:35 2001 UTC (22 years, 5 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.76: +4 -1 lines
Diff to previous 1.76 (colored)

add RCSIDs

Revision 1.76.4.1 / (download) - annotate - [select for diffs], Fri Sep 7 04:45:39 2001 UTC (22 years, 7 months ago) by thorpej
Branch: thorpej-devvp
Changes since 1.76: +6 -6 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

Commit my "devvp" changes to the thorpej-devvp branch.  This
replaces the use of dev_t in most places with a struct vnode *.

This will form the basic infrastructure for real cloning device
support (besides being architecurally cleaner -- it'll be good
to get away from using numbers to represent objects).

Revision 1.58.10.6 / (download) - annotate - [select for diffs], Sat Apr 21 17:46:31 2001 UTC (22 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.10.5: +16 -13 lines
Diff to previous 1.58.10.5 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored)

Sync with HEAD

Revision 1.74.2.2 / (download) - annotate - [select for diffs], Mon Apr 9 01:57:59 2001 UTC (23 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.74.2.1: +21 -15 lines
Diff to previous 1.74.2.1 (colored)

Catch up with -current.

Revision 1.67.4.1 / (download) - annotate - [select for diffs], Sun Apr 1 17:06:00 2001 UTC (23 years ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.67: +16 -13 lines
Diff to previous 1.67 (colored)

Pull up revision 1.76 (requested by chs):
  In bwrite(), when deciding whether to convert sync writes into delayed
  writes, examine the correct block device.  Fixes PR#12484.

Revision 1.76 / (download) - annotate - [select for diffs], Sun Apr 1 16:16:56 2001 UTC (23 years ago) by chs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache, thorpej-devvp, kqueue
Changes since 1.75: +16 -13 lines
Diff to previous 1.75 (colored)

in bwrite(), when deciding whether to convert sync writes into delayed writes,
examine the filesystem contained in a block device rather than the filesystem
containing the block device vnode.  fixes PR 12484.

Revision 1.58.10.5 / (download) - annotate - [select for diffs], Mon Mar 12 13:31:38 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.10.4: +6 -3 lines
Diff to previous 1.58.10.4 (colored) to branchpoint 1.58 (colored)

Sync with HEAD.

Revision 1.75 / (download) - annotate - [select for diffs], Sat Mar 10 18:43:55 2001 UTC (23 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.74: +6 -3 lines
Diff to previous 1.74 (colored)

in getnewbuf(), when we need to write a buffer before reusing it,
return NULL instead of restarting the loop since we might sleep
while starting the i/o.  this tells getblk() to check if someone else
created the buffer while we slept.  from OpenBSD.

Revision 1.74.2.1 / (download) - annotate - [select for diffs], Mon Mar 5 22:49:47 2001 UTC (23 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.74: +16 -5 lines
Diff to previous 1.74 (colored)

Initial commit of scheduler activations and lightweight process support.

Revision 1.58.10.4 / (download) - annotate - [select for diffs], Fri Jan 5 17:36:41 2001 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.10.3: +0 -1 lines
Diff to previous 1.58.10.3 (colored) to branchpoint 1.58 (colored)

Sync with HEAD

Revision 1.74 / (download) - annotate - [select for diffs], Wed Dec 13 17:48:46 2000 UTC (23 years, 4 months ago) by jdolecek
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.73: +1 -2 lines
Diff to previous 1.73 (colored)

this doesn't need <sys/trace.h>

Revision 1.58.10.3 / (download) - annotate - [select for diffs], Fri Dec 8 09:14:01 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.10.2: +26 -61 lines
Diff to previous 1.58.10.2 (colored) to branchpoint 1.58 (colored)

Sync with HEAD.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:43 2000 UTC (23 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.72: +27 -62 lines
Diff to previous 1.72 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.58.10.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:05:30 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.10.1: +12 -10 lines
Diff to previous 1.58.10.1 (colored) to branchpoint 1.58 (colored)

Sync with HEAD.

Revision 1.58.10.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:09:15 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58: +149 -43 lines
Diff to previous 1.58 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.72 / (download) - annotate - [select for diffs], Sat Nov 18 15:58:13 2000 UTC (23 years, 5 months ago) by simonb
Branch: MAIN
Changes since 1.71: +2 -4 lines
Diff to previous 1.71 (colored)

Don't use alloca() - breaks compile on alpha (alloca is not prototyped
anywhere).

Revision 1.71 / (download) - annotate - [select for diffs], Tue Nov 14 22:22:02 2000 UTC (23 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.70: +12 -8 lines
Diff to previous 1.70 (colored)

NBPG -> PAGE_SIZE

Revision 1.70 / (download) - annotate - [select for diffs], Wed Nov 8 14:28:13 2000 UTC (23 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.69: +2 -2 lines
Diff to previous 1.69 (colored)

Update for hashinit() change.

Revision 1.69 / (download) - annotate - [select for diffs], Wed Nov 8 05:53:10 2000 UTC (23 years, 5 months ago) by chs
Branch: MAIN
Changes since 1.68: +2 -2 lines
Diff to previous 1.68 (colored)

use round_page(...) instead of roundup(..., NBPG).

Revision 1.68 / (download) - annotate - [select for diffs], Tue Jun 27 17:41:47 2000 UTC (23 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.67: +1 -3 lines
Diff to previous 1.67 (colored)

remove include of <vm/vm.h>

Revision 1.67 / (download) - annotate - [select for diffs], Wed Apr 12 11:33:43 2000 UTC (24 years ago) by fvdl
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.66: +18 -5 lines
Diff to previous 1.66 (colored)

Fix from Ethan Solomita <ethan@geocast.com> to avoid a livelock problem
where the buffer cache code would be recycling B_AGE buffers with
dependencies.

Revision 1.66 / (download) - annotate - [select for diffs], Thu Mar 30 09:27:14 2000 UTC (24 years ago) by augustss
Branch: MAIN
Changes since 1.65: +12 -12 lines
Diff to previous 1.65 (colored)

Get rid of register declarations.

Revision 1.65 / (download) - annotate - [select for diffs], Mon Feb 14 20:12:03 2000 UTC (24 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.64: +14 -1 lines
Diff to previous 1.64 (colored)

One small piece from UBC: create a pool for I/O buffers.  One small piece
not from UBC: make physio use it instead of its own home-grown thing.

Revision 1.64 / (download) - annotate - [select for diffs], Mon Feb 7 20:16:58 2000 UTC (24 years, 2 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.63: +3 -3 lines
Diff to previous 1.63 (colored)

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.

Revision 1.63 / (download) - annotate - [select for diffs], Fri Jan 21 23:22:24 2000 UTC (24 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.62: +14 -2 lines
Diff to previous 1.62 (colored)

- Implement bowrite() -- perform an asynchronous, ordered write.

Revision 1.58.16.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:35:53 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.58: +94 -24 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

Pull up to last week's -current.

Revision 1.62 / (download) - annotate - [select for diffs], Fri Dec 3 21:43:20 1999 UTC (24 years, 4 months ago) by ragge
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.61: +9 -9 lines
Diff to previous 1.61 (colored)

First round of discarding the CL* macros.

Revision 1.61 / (download) - annotate - [select for diffs], Fri Nov 26 17:18:15 1999 UTC (24 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.60: +3 -1 lines
Diff to previous 1.60 (colored)

Clear B_AGE in bdirty(), this buffer must go through the LRU again
to be back on the AGE queue. Otherwise we risk recycling a set
of buffers with (soft) dependencies on the AGE list, which may
last forever if the vnode they belong to is locked (i.e. the syncer
won't get to the buffers they depend on, so their dependencies
are never flushed).

Revision 1.60 / (download) - annotate - [select for diffs], Tue Nov 23 23:52:40 1999 UTC (24 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.59: +23 -10 lines
Diff to previous 1.59 (colored)

Be more careful to block bio interrupts for some data structures. There
were at least a few missed cases where vp->v_{clean,dirty}blkhd were
unprotected since the softdep/trickle sync merge.

Revision 1.59 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:09 1999 UTC (24 years, 5 months ago) by fvdl
Branch: MAIN
Changes since 1.58: +64 -9 lines
Diff to previous 1.58 (colored)

Add Kirk McKusick's soft updates code to the trunk. Not enabled by
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.

Bump version number to 1.4O

Revision 1.58.12.1 / (download) - annotate - [select for diffs], Tue Oct 19 12:50:04 1999 UTC (24 years, 6 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.58: +64 -9 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

Bring in Kirk McKusick's FFS softdep code on a branch.

Revision 1.58.6.4 / (download) - annotate - [select for diffs], Tue Aug 31 21:03:43 1999 UTC (24 years, 7 months ago) by perseant
Branch: chs-ubc2
Changes since 1.58.6.3: +2 -2 lines
Diff to previous 1.58.6.3 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored)

Rudimentary support for LFS under UBC:

- LFS-specific VOP_BALLOC and VOP_PUTPAGES vnode ops.

- getblk VREG panic #ifdef'd out (can be reinstated when Ifile is
  internalized and Ifile can be made another type from VREG)

- interface to VOP_PUTPAGES changed to pass all pager flags, not
  just sync.  FS putpages routines must know about the pager flags.

- new LFS magic disk address, -2 ("unwritten"), meaning accounted for
  but not assigned to a fixed disk location (since LFS does these two
  things separately, and the previous accounting method using buffer
  headers no longer will work).  Changed references to (foo == (daddr_t)-1)
  to (foo < 0).  Since disk drivers reject all addresses < 0, this should
  not present a problem for other FSs.

Revision 1.58.6.3 / (download) - annotate - [select for diffs], Sun Jul 4 01:40:43 1999 UTC (24 years, 9 months ago) by chs
Branch: chs-ubc2
Changes since 1.58.6.2: +14 -3 lines
Diff to previous 1.58.6.2 (colored) to branchpoint 1.58 (colored)

initialize bufpool in bufinit().
bring back B_CACHE, it's useful for debugging.

Revision 1.58.6.2 / (download) - annotate - [select for diffs], Fri Jul 2 18:31:28 1999 UTC (24 years, 9 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.58.6.1: +1 -7 lines
Diff to previous 1.58.6.1 (colored) to branchpoint 1.58 (colored)

Remove the VREG panic from getblk() so that file systems which have not
yet been converted to use UBC continue to work with the old buffer cache.

Revision 1.58.6.1 / (download) - annotate - [select for diffs], Mon Jun 7 04:25:30 1999 UTC (24 years, 10 months ago) by chs
Branch: chs-ubc2
Changes since 1.58: +7 -1 lines
Diff to previous 1.58 (colored)

merge everything from chs-ubc branch.

Revision 1.57.2.1 / (download) - annotate - [select for diffs], Fri Apr 9 04:22:56 1999 UTC (25 years ago) by chs
Branch: chs-ubc
Changes since 1.57: +7 -1 lines
Diff to previous 1.57 (colored) next main 1.58 (colored)

in getblk(), panic if the request is for regular file data.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Nov 9 01:18:34 1998 UTC (25 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kenh-if-detach-base, kenh-if-detach, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep, chs-ubc2
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored)

GC the B_CACHE bit.

Revision 1.52.6.1 / (download) - annotate - [select for diffs], Thu Oct 29 02:42:43 1998 UTC (25 years, 5 months ago) by cgd
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003
Changes since 1.52: +13 -9 lines
Diff to previous 1.52 (colored) next main 1.53 (colored)

pull up rev 1.57 from trunk (mycroft)

Revision 1.57 / (download) - annotate - [select for diffs], Tue Oct 27 23:48:22 1998 UTC (25 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: chs-ubc-base
Branch point for: chs-ubc
Changes since 1.56: +13 -9 lines
Diff to previous 1.56 (colored)

Several things:
* Change the usage of B_DONE so that it is only set when a buffer is in sync
  with the data on disk.
* If a buffer is being waited for, don't put it on the age queue.
* Make sure to clear B_DONE when pages are stolen from a buffer.
* Make sure to clear B_CACHE after each use.
* If we find a buffer for the block we want with valid data, but it is too
  small, panic.  (This isn't supposed to happen.)
Fixes potential file corruption problems with clustering.

Revision 1.56 / (download) - annotate - [select for diffs], Thu Aug 13 02:10:58 1998 UTC (25 years, 8 months ago) by eeh
Branch: MAIN
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored)

Merge paddr_t changes into the main branch.

Revision 1.53.2.2 / (download) - annotate - [select for diffs], Sat Aug 8 03:06:59 1998 UTC (25 years, 8 months ago) by eeh
Branch: eeh-paddr_t
Changes since 1.53.2.1: +2 -2 lines
Diff to previous 1.53.2.1 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored)

Revert cdevsw mmap routines to return int.

Revision 1.55 / (download) - annotate - [select for diffs], Tue Aug 4 04:03:18 1998 UTC (25 years, 8 months ago) by perry
Branch: MAIN
Changes since 1.54: +2 -2 lines
Diff to previous 1.54 (colored)

Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
  bcopy(x, y, z) ->  memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
   bcmp(x, y, z) ->  memcmp(x, y, z)
  bzero(x, y)    ->  memset(x, 0, y)

Revision 1.54 / (download) - annotate - [select for diffs], Fri Jul 31 22:50:53 1998 UTC (25 years, 8 months ago) by perry
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

fix sizeofs so they comply with the KNF style guide. yes, it is pedantic.

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Thu Jul 30 14:04:05 1998 UTC (25 years, 8 months ago) by eeh
Branch: eeh-paddr_t
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

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

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:09:52 1998 UTC (26 years, 1 month ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-2, lite-1, date-03-may-96
Changes since 1.1: +339 -1 lines
Diff to previous 1.1 (colored)

Import 4.4BSD-Lite for reference

Revision 1.53 / (download) - annotate - [select for diffs], Sat Feb 7 02:44:48 1998 UTC (26 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: eeh-paddr_t-base
Branch point for: eeh-paddr_t
Changes since 1.52: +2 -2 lines
Diff to previous 1.52 (colored)

add flags arg to hashinit(), to pass to malloc().

Revision 1.52 / (download) - annotate - [select for diffs], Tue Jul 8 22:03:30 1997 UTC (26 years, 9 months ago) by pk
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia
Branch point for: netbsd-1-3
Changes since 1.51: +6 -2 lines
Diff to previous 1.51 (colored)

Check `b_dev' field in bdwrite() before using it as an index into bdevsw[].
`b_dev' value of NODEV happens and is normal if the buffer is on its way
to the underlying device strategy function for the first time.

Also, MFS sillily uses a major device number (255) which cannot be used
to index bdevsw[]. Check marked with XXXs.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Jul 8 21:42:59 1997 UTC (26 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.50: +25 -3 lines
Diff to previous 1.50 (colored)

In bread() and breadn(): if getblk() returns a DELWRI buffer, don't
call biowait() but return `success' immediately. We can return `success'
because buffers with recorded errors are not returned by getblk().
(Takes care of PR#3694).

Revision 1.50 / (download) - annotate - [select for diffs], Wed Apr 9 21:12:10 1997 UTC (27 years ago) by mycroft
Branch: MAIN
CVS Tags: bouyer-scsipi
Changes since 1.49: +34 -2 lines
Diff to previous 1.49 (colored)

Fix two performance issues:
* When a delayed write buffer falls off the LRU queue, arrange for it to go on
  the AGE queue after being flushed out to disk.
* When a delayed write buffer is synced, leave it in its relative position in
  the LRU queue.

Revision 1.43.4.2 / (download) - annotate - [select for diffs], Sun Jan 26 02:40:38 1997 UTC (27 years, 2 months ago) by rat
Branch: netbsd-1-2
CVS Tags: netbsd-1-2-PATCH001
Changes since 1.43.4.1: +7 -4 lines
Diff to previous 1.43.4.1 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

Pullup 1.48 -> 1.49.  Fix potential NULL-pointer dereference.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Oct 15 23:06:27 1996 UTC (27 years, 6 months ago) by cgd
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.48: +7 -4 lines
Diff to previous 1.48 (colored)

curproc was being used directly for ru_{in,ou}block counting.  Instead
of using it directly, use a local, and set that local to be curproc
if curproc is not NULL else a pointer to process 0's proc struct.
If syncing disks while handling a panic that occurred while 'curproc'
was NULL, the old code would dereference NULL and die.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Oct 13 02:32:48 1996 UTC (27 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.47: +4 -4 lines
Diff to previous 1.47 (colored)

backout previous kprintf change

Revision 1.47 / (download) - annotate - [select for diffs], Thu Oct 10 22:46:36 1996 UTC (27 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.46: +4 -4 lines
Diff to previous 1.46 (colored)

printf -> kprintf, sprintf -> ksprintf

Revision 1.46 / (download) - annotate - [select for diffs], Tue Jun 18 20:50:23 1996 UTC (27 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.45: +20 -35 lines
Diff to previous 1.45 (colored)

In the sync case of bwrite(), move the accounting earlier so that so that the
delayed write is logically converted to a sync write, mirroring the async case.
In bdwrite(), move the tape case earlier to avoid needless reassignbuf()s.

Revision 1.43.4.1 / (download) - annotate - [select for diffs], Tue Jun 18 19:58:04 1996 UTC (27 years, 10 months ago) by pk
Branch: netbsd-1-2
CVS Tags: netbsd-1-2-RELEASE, netbsd-1-2-BETA
Changes since 1.43: +12 -5 lines
Diff to previous 1.43 (colored)

Pull down from trunk: update vnode lists/counters at splbio.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Jun 17 22:21:31 1996 UTC (27 years, 10 months ago) by pk
Branch: MAIN
Changes since 1.44: +6 -3 lines
Diff to previous 1.44 (colored)

Call reassignbuf() at splbio in bdwrite().

Revision 1.44 / (download) - annotate - [select for diffs], Tue Jun 11 11:15:36 1996 UTC (27 years, 10 months ago) by pk
Branch: MAIN
Changes since 1.43: +7 -3 lines
Diff to previous 1.43 (colored)

Protect vnode when updating for started IO on buffers.

Revision 1.43 / (download) - annotate - [select for diffs], Mon Apr 22 01:38:59 1996 UTC (27 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base
Branch point for: netbsd-1-2
Changes since 1.42: +3 -2 lines
Diff to previous 1.42 (colored)

remove include of <sys/cpu.h>

Revision 1.42 / (download) - annotate - [select for diffs], Sun Feb 18 11:57:08 1996 UTC (28 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.41: +2 -1 lines
Diff to previous 1.41 (colored)

Changes for NVSv3 code: pull in more NFS include files into kern_time.c
to get types right (overkill for just one function call, but oh well).
Clear B_NEEDCOMMIT in bdwrite().

Revision 1.41 / (download) - annotate - [select for diffs], Fri Feb 9 19:00:53 1996 UTC (28 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.40: +2 -3 lines
Diff to previous 1.40 (colored)

More proto fixes

Revision 1.40 / (download) - annotate - [select for diffs], Sun Feb 4 02:18:03 1996 UTC (28 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.39: +18 -6 lines
Diff to previous 1.39 (colored)

First pass at prototyping

Revision 1.39 / (download) - annotate - [select for diffs], Wed Aug 2 22:01:46 1995 UTC (28 years, 8 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.38: +16 -18 lines
Diff to previous 1.38 (colored)

fix bug pointed out by, and do the cleanup suggested by
Alasdair Baird <alasdair@wildcat.demon.co.uk>.  From pr 1301.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Jul 12 07:56:31 1995 UTC (28 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.37: +9 -5 lines
Diff to previous 1.37 (colored)

bdwrite() should upgrade writes to tape devices by sending them to
bawrite().  it's logically more correct (doesn't return an error code,
because it's async; bdwrite is also async), it still writes things
in-order, it makes sure the proper accountins is done (see the
wasdelayed cases in bwrite()), and it allows writes to vnodes on volumes
mountd with the MNT_ASYNC to be converted into delayed writes the way
God, err, Kirk intended.  Convert synchronous bwrite()s on MNT_ASYNC
file systems to delayed writes.

Revision 1.37 / (download) - annotate - [select for diffs], Wed Jul 12 07:39:00 1995 UTC (28 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.36: +31 -2 lines
Diff to previous 1.36 (colored)

fix long-standing XXX in getblk(): NFS does funky things (somewhat
explained in comments), which can cause a race condition.  amazingly,
the _only_ time i've ever seen or heard of this problem was in some
comments and sources by Rick Macklem, and when running against the
a DEC OSF/1 NFS server running on an Alpha.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Jun 20 10:42:33 1995 UTC (28 years, 10 months ago) by cgd
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

fix pr 1128; change vfs_bufstats defn from DIAGNOSTIC - > DEBUG

Revision 1.35 / (download) - annotate - [select for diffs], Mon Apr 10 00:46:51 1995 UTC (29 years ago) by mycroft
Branch: MAIN
Changes since 1.34: +4 -3 lines
Diff to previous 1.34 (colored)

Use the new d_type field.

Revision 1.34 / (download) - annotate - [select for diffs], Tue Nov 22 01:31:02 1994 UTC (29 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.33: +68 -110 lines
Diff to previous 1.33 (colored)

Various code rearrangement.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Oct 30 21:48:10 1994 UTC (29 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

be more careful with types, also pull in headers where necessary.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Mon Aug 29 01:47:34 1994 UTC (29 years, 7 months ago) by mycroft
Branch: netbsd-1-0
CVS Tags: netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0
Changes since 1.31: +20 -6 lines
Diff to previous 1.31 (colored) next main 1.32 (colored)

update from trunk

Revision 1.32 / (download) - annotate - [select for diffs], Mon Aug 29 01:47:02 1994 UTC (29 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.31: +20 -6 lines
Diff to previous 1.31 (colored)

Patch to fix `reassignbuf: NULL' messages, from cgd.

Revision 1.31 / (download) - annotate - [select for diffs], Sun Jul 3 07:57:32 1994 UTC (29 years, 9 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-0-base
Branch point for: netbsd-1-0
Changes since 1.30: +839 -1 lines
Diff to previous 1.30 (colored)

light clean up, use some macros

Revision 1.30 / (download) - annotate - [select for diffs], Wed Jun 29 06:33:45 1994 UTC (29 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.29: +1 -1 lines
Diff to previous 1.29 (colored)

New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.29 / (download) - annotate - [select for diffs], Tue Jun 14 19:36:14 1994 UTC (29 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.28: +1 -1 lines
Diff to previous 1.28 (colored)

Minor cleanup.

Revision 1.28 / (download) - annotate - [select for diffs], Wed Jun 8 11:28:48 1994 UTC (29 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.27: +1 -1 lines
Diff to previous 1.27 (colored)

Update to 4.4-Lite fs code.

Revision 1.27 / (download) - annotate - [select for diffs], Sun Jun 5 13:00:49 1994 UTC (29 years, 10 months ago) by cgd
Branch: MAIN
Changes since 1.26: +1 -1 lines
Diff to previous 1.26 (colored)

 minor type pointed out by Onno van der Linden

Revision 1.26 / (download) - annotate - [select for diffs], Sun May 29 22:50:50 1994 UTC (29 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.25: +1 -1 lines
Diff to previous 1.25 (colored)

Clear more flags in brelse().

Revision 1.25 / (download) - annotate - [select for diffs], Fri May 27 11:05:54 1994 UTC (29 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24 (colored)

Cluster routines want 0-sized bufs.

Revision 1.24 / (download) - annotate - [select for diffs], Thu May 19 03:04:01 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.23: +1 -1 lines
Diff to previous 1.23 (colored)

some paranoia, also, clean up spaces vs. tabs

Revision 1.23 / (download) - annotate - [select for diffs], Wed May 18 10:51:13 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.22: +1 -1 lines
Diff to previous 1.22 (colored)

my two favorite reference books

Revision 1.22 / (download) - annotate - [select for diffs], Wed May 18 10:28:14 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.21: +1 -1 lines
Diff to previous 1.21 (colored)

forgot the damned rcsid

Revision 1.21 / (download) - annotate - [select for diffs], Wed May 18 10:24:54 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.20: +1 -1 lines
Diff to previous 1.20 (colored)

significant rework, to match 4.4-Lite interfaces, and to comment more
closely from Bach.

Revision 1.20 / (download) - annotate - [select for diffs], Tue May 17 10:50:56 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.19: +1 -1 lines
Diff to previous 1.19 (colored)

notdef out vn_bwrite out, for now, so that kernels compile, until new fs stuff

Revision 1.19 / (download) - annotate - [select for diffs], Tue May 17 03:43:46 1994 UTC (29 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.18: +1 -1 lines
Diff to previous 1.18 (colored)

Implement new functions for 4.4-Lite file systems, and some general cleanup.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Apr 28 01:17:00 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.17: +1 -1 lines
Diff to previous 1.17 (colored)

rearrange some splfoo

Revision 1.17 / (download) - annotate - [select for diffs], Tue Apr 26 05:40:35 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.16: +1 -1 lines
Diff to previous 1.16 (colored)

clean up a little bit, and minor optimization...

Revision 1.16 / (download) - annotate - [select for diffs], Thu Apr 21 07:48:31 1994 UTC (30 years ago) by cgd
Branch: MAIN
Changes since 1.15: +1 -1 lines
Diff to previous 1.15 (colored)

Convert mount, vnode, and buf structs to use <sys/queue.h>.  Also,
some knf and structure frobbing to do along with it.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Mar 9 21:23:44 1994 UTC (30 years, 1 month ago) by ws
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14 (colored)

Make FFS optional

Revision 1.14 / (download) - annotate - [select for diffs], Thu Jan 27 07:39:32 1994 UTC (30 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.13: +1 -1 lines
Diff to previous 1.13 (colored)

get rid of jolitz hack, and add panic() where appropriate

Revision 1.13 / (download) - annotate - [select for diffs], Sat Dec 18 04:22:36 1993 UTC (30 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.12: +1 -1 lines
Diff to previous 1.12 (colored)

Canonicalize all #includes.

Revision 1.3.2.8 / (download) - annotate - [select for diffs], Fri Nov 12 06:12:00 1993 UTC (30 years, 5 months ago) by cgd
Branch: magnum
Changes since 1.3.2.7: +1 -1 lines
Diff to previous 1.3.2.7 (colored) next main 1.4 (colored)

new specfs.h and fifo.h locations, and include file syntax updates

Revision 1.12 / (download) - annotate - [select for diffs], Fri Nov 12 05:55:43 1993 UTC (30 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11 (colored)

new specfs.h and fifo.h locations

Revision 1.3.2.7 / (download) - annotate - [select for diffs], Tue Oct 26 19:56:19 1993 UTC (30 years, 5 months ago) by mycroft
Branch: magnum
Changes since 1.3.2.6: +1 -1 lines
Diff to previous 1.3.2.6 (colored)

Merge changes from trunk.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Oct 26 19:38:55 1993 UTC (30 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10 (colored)

if you try to allocate a buffer larger than MAXBSIZE, panic.

Revision 1.3.2.6 / (download) - annotate - [select for diffs], Tue Oct 26 13:22:56 1993 UTC (30 years, 5 months ago) by mycroft
Branch: magnum
Changes since 1.3.2.5: +1 -1 lines
Diff to previous 1.3.2.5 (colored)

Merge changes from trunk.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Oct 19 23:41:44 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

fix my last change; for some reason i thought that 'p' was defined
in these functions.  use curproc instead.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Oct 19 02:47:56 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.8: +1 -1 lines
Diff to previous 1.8 (colored)

pay for block i/o.  slightly different than how done by Mark Tinguely.

Revision 1.3.2.5 / (download) - annotate - [select for diffs], Wed Oct 6 12:26:10 1993 UTC (30 years, 6 months ago) by mycroft
Branch: magnum
Changes since 1.3.2.4: +1 -1 lines
Diff to previous 1.3.2.4 (colored)

Merge changes from trunk.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Oct 6 07:24:21 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.7: +1 -1 lines
Diff to previous 1.7 (colored)

changed the Debugger() call, which not all kernels have, to panic(),
but only when DIAGNOSTIC is defined.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Oct 4 04:56:28 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6 (colored)

new, improved, and rationally-implemented vfs_bio.  no more serious
structural changes should happen, as it now does the right thing
w.r.t. buffer resizing and having lots of buffers vs. relatively
little buffer space.  Ports can now "do the standard thing", re:
nbuf and bufpages, which is make nbuf = bufpages by default.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Oct 1 21:47:11 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.5: +1 -1 lines
Diff to previous 1.5 (colored)

patch from Christoph Badura <bad@flatlin.ka.sub.org> to fix credential
use by read-ahead blocks.  This fixes those weak NFS authentication
messages, and allows us to use BSDI NFS servers again...

Revision 1.3.2.4 / (download) - annotate - [select for diffs], Thu Sep 30 17:52:58 1993 UTC (30 years, 6 months ago) by mycroft
Branch: magnum
Changes since 1.3.2.3: +1 -1 lines
Diff to previous 1.3.2.3 (colored)

Update to cgd's latest version.

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Wed Sep 29 15:36:22 1993 UTC (30 years, 6 months ago) by mycroft
Branch: magnum
Changes since 1.3.2.2: +1 -1 lines
Diff to previous 1.3.2.2 (colored)

#include machine/cpu.h.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Wed Sep 29 06:31:07 1993 UTC (30 years, 6 months ago) by mycroft
Branch: magnum
Changes since 1.3.2.1: +1 -1 lines
Diff to previous 1.3.2.1 (colored)

init_main.c: Remove calls to startrtclock(), startkgclock(), and enablertclock().
sys_process.c: Remove profil() (now in subr_prof.c).
vfs_bio.c: Merge changes from trunk.
kern_clock.c, tty_pty.c: Trivial changes to match KNF.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Sep 29 04:49:15 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.4: +1 -1 lines
Diff to previous 1.4 (colored)

convert to use the buffers which are (now) statically allocated at
startup in machdep.c...  buffers are now *never* allocated after boot.
currently, the limitation that says bufpages must cover nbuf*MAXBSIZE
still exists, but this is one step closer to removing that limitation.

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Fri Sep 24 08:52:01 1993 UTC (30 years, 6 months ago) by mycroft
Branch: magnum
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (colored)

Make all files using spl*() #include cpu.h.  Changes from trunk.
init_main.c: New method of pseudo-device of initialization.
kern_clock.c: hardclock() and softclock() now take a pointer to a clockframe.
softclock() only does callouts.
kern_synch.c: Remove spurious declaration of endtsleep().  Adjust uses of
averunnable for new struct loadav.
subr_prf.c: Allow printf() formats in panic().
tty.c: averunnable changes.
vfs_subr.c: va_size and va_bytes are now quads.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Sep 21 00:40:02 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
CVS Tags: magnum-base
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (colored)

rewrite biodone to the spec in the daemon book, and to account for
the fact that buffers with B_CALL set shouldn't be brelse()'d.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Aug 7 08:03:34 1993 UTC (30 years, 8 months ago) by cgd
Branch: MAIN
Branch point for: magnum
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

merge in changes from netbsd-0-9-ALPHA2

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Sat Aug 7 01:56:01 1993 UTC (30 years, 8 months ago) by cgd
Branch: netbsd-0-9
CVS Tags: netbsd-0-9-patch-001, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2
Changes since 1.1.2.2: +1 -1 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

oops; fix an accidental deletion of an =...

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Thu Aug 5 02:41:24 1993 UTC (30 years, 8 months ago) by cgd
Branch: netbsd-0-9
Changes since 1.1.2.1: +1 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)

protect call to incore() with splbio(), so that you don't inf. loop.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Jul 24 22:09:50 1993 UTC (30 years, 8 months ago) by ws
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)

Use all of freebufspace

Revision 1.1.2.1, Mon Jul 19 16:39:05 1993 UTC (30 years, 9 months ago) by cgd
Branch: netbsd-0-9
Changes since 1.1: +0 -1 lines
FILE REMOVED

file vfs_bio.c was added on branch netbsd-0-9 on 1993-08-05 02:41:24 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Mon Jul 19 16:39:05 1993 UTC (30 years, 9 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-0-9-base, netbsd-0-9-ALPHA
Branch point for: netbsd-0-9

replace jolitz's vfs__bio with a better one from CMU via mw.
so, replace vfs__bio, and deal with attendant changes.

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>