OpenBSD CVS

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


[BACK] Up to [local] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.213 / (download) - annotate - [select for diffs], Sat Feb 3 18:51:58 2024 UTC (4 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.212: +1 -28 lines
Diff to previous 1.212 (colored)

Remove Softdep.

Softdep has been a no-op for some time now, this removes it to get
it out of the way.

Flensing mostly done in Talinn, with some help from krw@

ok deraadt@

Revision 1.212 / (download) - annotate - [select for diffs], Wed Apr 26 15:13:52 2023 UTC (13 months, 2 weeks ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.211: +2 -2 lines
Diff to previous 1.211 (colored)

Fix splassert noticed by sthen

Called wrong incore when not holding bio.

ok claudio@

Revision 1.211 / (download) - annotate - [select for diffs], Mon Apr 24 16:46:43 2023 UTC (13 months, 2 weeks ago) by beck
Branch: MAIN
Changes since 1.210: +23 -13 lines
Diff to previous 1.210 (colored)

Remove recursive spl grabbing in vfs_bio.c

in preparation for improvements.

ok claudio@

Revision 1.210 / (download) - annotate - [select for diffs], Sun Aug 14 01:58:28 2022 UTC (21 months, 4 weeks ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.209: +1 -4 lines
Diff to previous 1.209 (colored)

remove unneeded includes in sys/kern
ok mpi@ miod@

Revision 1.209 / (download) - annotate - [select for diffs], Fri Aug 12 14:30:52 2022 UTC (21 months, 4 weeks ago) by visa
Branch: MAIN
Changes since 1.208: +5 -2 lines
Diff to previous 1.208 (colored)

Put more struct vnode fields under splbio().

Buffer cache related struct vnode fields can be accessed in interrupt
context. Be more consistent with the use of splbio().

OK mpi@

Revision 1.208 / (download) - annotate - [select for diffs], Sun Dec 12 09:14:59 2021 UTC (2 years, 5 months ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.207: +4 -4 lines
Diff to previous 1.207 (colored)

Add vnode parameter to VOP_STRATEGY()

Pass the device vnode as a parameter to VOP_STRATEGY() to allow calling
the correct vop_strategy callback. Now the vnode is also available
in the callback.

OK mpi@

Revision 1.207 / (download) - annotate - [select for diffs], Sun Sep 5 11:44:46 2021 UTC (2 years, 9 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.206: +2 -2 lines
Diff to previous 1.206 (colored)

Introduce dummy pagers for 'special' subsystems using UVM objects.

Some pmaps (x86, hppa) and the buffer cache rely on UVM objects to allocate
and manipulate pages.  These objects should not be manipulated by uvm_fault()
and do not currently require the same locking enforcement.

Use the dummy pagers to explicitly document which UVM functions are meant to
manipulate UVM objects (uobj) that do not need the upcoming `vmobjlock' and
instead still rely on the KERNEL_LOCK().

Tested by many as part of a larger diff.

ok kettenis@, beck@

Revision 1.206 / (download) - annotate - [select for diffs], Wed Jun 16 09:02:21 2021 UTC (2 years, 11 months ago) by mpi
Branch: MAIN
Changes since 1.205: +2 -2 lines
Diff to previous 1.205 (colored)

Change the prefix of UVM object functions to match NetBSD's.

For example uvm_objinit() becomes uvm_obj_init().  Reduce differences
between the trees and help porting new functions needed for UVM object
locking.

No functionnal change.

Revision 1.205 / (download) - annotate - [select for diffs], Wed Mar 10 10:21:47 2021 UTC (3 years, 3 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.204: +3 -3 lines
Diff to previous 1.204 (colored)

spelling

ok gnezdo@ semarie@ mpi@

Revision 1.204 / (download) - annotate - [select for diffs], Mon Oct 5 01:56:17 2020 UTC (3 years, 8 months ago) by asou
Branch: MAIN
Changes since 1.203: +6 -1 lines
Diff to previous 1.203 (colored)

Fix write hang-up on file system on vnd.

ok beck@

Revision 1.203 / (download) - annotate - [select for diffs], Mon Sep 14 19:02:09 2020 UTC (3 years, 8 months ago) by jasper
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.202: +12 -2 lines
Diff to previous 1.202 (colored)

add three static probes for vfs: cleaner, bufcache_take and bufcache_rel.

while here, swap two lines in bufcache_release() to put a KASSERT() first
following the pattern in bufcache_take()

ok beck@ mpi@

Revision 1.202 / (download) - annotate - [select for diffs], Sat Sep 12 11:57:24 2020 UTC (3 years, 8 months ago) by beck
Branch: MAIN
Changes since 1.201: +2 -2 lines
Diff to previous 1.201 (colored)

Add a NULL check in bufbackoff so we don't die when passed a NULL pmem range.

Noticed by, and based on a diff from Mike Small <smallm@sdf.org>.

Revision 1.201 / (download) - annotate - [select for diffs], Tue Jul 14 06:02:50 2020 UTC (3 years, 10 months ago) by beck
Branch: MAIN
Changes since 1.200: +9 -3 lines
Diff to previous 1.200 (colored)

Do not convert the NOCACHE buffers that come from a vnd strategy routine
into more delayed writes if the vnd is mounted from a file on an MNT_ASYNC
filesystem. This prevents a situaiton where the cleaner can not clean
delayed writes out without making more delayed writes, and we end up
waiting for the syncer to spit things occasionaly when it runs.

noticed and reported by sven falempin <sven.falempin@gmail.com> on tech,
who validated this fixes his issue.

ok krw@

Revision 1.200 / (download) - annotate - [select for diffs], Wed Apr 29 02:25:48 2020 UTC (4 years, 1 month ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.199: +2 -1 lines
Diff to previous 1.199 (colored)

Ensure that if we are doing a delayed write with a NOCACHE buffer, we
clear the NOCACHE flag, since if we are doing a delayed write the buffer
must be cached or it is thrown away when the "write" is done.
fixes vnd on mfs regress tests.

ok kettenis@ deraadt@

Revision 1.199 / (download) - annotate - [select for diffs], Thu Mar 12 17:38:02 2020 UTC (4 years, 2 months ago) by visa
Branch: MAIN
Changes since 1.198: +2 -4 lines
Diff to previous 1.198 (colored)

Revert previous. Something in it causes unexpected slowdown.

Revision 1.198 / (download) - annotate - [select for diffs], Thu Mar 12 15:29:47 2020 UTC (4 years, 3 months ago) by visa
Branch: MAIN
Changes since 1.197: +4 -2 lines
Diff to previous 1.197 (colored)

Enable caching when turning a synchronous write into a delayed write.
Otherwise the write will be discarded, which would prevent use of vnd(4)
on top of an async-mounted file system.

OK beck@

Revision 1.197 / (download) - annotate - [select for diffs], Wed Mar 4 13:27:10 2020 UTC (4 years, 3 months ago) by anton
Branch: MAIN
Changes since 1.196: +2 -2 lines
Diff to previous 1.196 (colored)

Make an assertion free from side effects. The intention was probably to
assert that the wire count is equal to 1 and not unconditionally set it
to 1.

ok kettenis@ mpi@

Revision 1.196 / (download) - annotate - [select for diffs], Sun Jan 26 04:22:36 2020 UTC (4 years, 4 months ago) by tedu
Branch: MAIN
Changes since 1.195: +110 -109 lines
Diff to previous 1.195 (colored)

invert some if logic to shortcircuit some loops and reduce nesting.
no function change.

Revision 1.195 / (download) - annotate - [select for diffs], Mon Dec 30 22:17:14 2019 UTC (4 years, 5 months ago) by beck
Branch: MAIN
Changes since 1.194: +8 -1 lines
Diff to previous 1.194 (colored)

clear B_NOCACHE if the buffer has dependencies for softdep, since
otherwise we are guaranteed to panic a few lines down in
softdep_deallocate_dependencies.

Found by Matthias Pitzl <matthias_pitzl@genua.de> running vnd's on top
of a softdep filesystem.

ok bluhm@ deraadt@

Revision 1.194 / (download) - annotate - [select for diffs], Sun Dec 8 12:29:42 2019 UTC (4 years, 6 months ago) by mpi
Branch: MAIN
Changes since 1.193: +5 -5 lines
Diff to previous 1.193 (colored)

Convert infinite sleeps to tsleep_nsec(9).

ok visa@, jca@

Revision 1.193 / (download) - annotate - [select for diffs], Fri Nov 29 01:04:08 2019 UTC (4 years, 6 months ago) by beck
Branch: MAIN
Changes since 1.192: +19 -1 lines
Diff to previous 1.192 (colored)

Re commit what was committed in version 1.43 with a fix added to
ensure we handle the uvm_objects of bread_cluster buffers correctly.

Original commit message:
Fix the buffer cache code to not use a giant uvm obj of all pages
when a small one on each buf is all that is needed. reduces the
cost of large frees by about 25%.

Again, lots of assistence from kettenis and mlarkin

still ok kettenis@

Revision 1.192 / (download) - annotate - [select for diffs], Fri Nov 15 09:27:48 2019 UTC (4 years, 6 months ago) by mlarkin
Branch: MAIN
Changes since 1.191: +4 -4 lines
Diff to previous 1.191 (colored)

Fix a spelling error in a comment and remove some extra whitespace
in a few places. No code change.

Revision 1.191 / (download) - annotate - [select for diffs], Fri Jul 19 00:24:31 2019 UTC (4 years, 10 months ago) by cheloha
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.190: +6 -5 lines
Diff to previous 1.190 (colored)

getblk(9): tsleep(9) -> tsleep_nsec(9); ok visa@

Revision 1.190 / (download) - annotate - [select for diffs], Thu May 9 15:09:40 2019 UTC (5 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.189: +5 -3 lines
Diff to previous 1.189 (colored)

Don't unconditionally throw away dma memory when we don't need to.
Noticed by me and otto@
ok tedu@

Revision 1.189 / (download) - annotate - [select for diffs], Wed May 8 12:40:57 2019 UTC (5 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.188: +121 -30 lines
Diff to previous 1.188 (colored)

Modify the buffer cache to always flip recovered DMA buffers high.

This also modifies the backoff logic to only back off what is requested
and not a "mimimum" amount. Tested by me, benno@, tedu@ anda ports build
by naddy@.

ok tedu@

Revision 1.188 / (download) - annotate - [select for diffs], Sun Feb 17 22:17:28 2019 UTC (5 years, 3 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.187: +6 -1 lines
Diff to previous 1.187 (colored)

if a write fails, we mark the buffer invalid and throw it away. this can
lead to lost errors, where a later fsync will return success. to fix this,
set a flag on the vnode indicating a past error has occurred, and return
an error for future fsync calls.
ok bluhm deraadt visa

Revision 1.187 / (download) - annotate - [select for diffs], Wed Nov 21 16:14:43 2018 UTC (5 years, 6 months ago) by mpi
Branch: MAIN
Changes since 1.186: +5 -5 lines
Diff to previous 1.186 (colored)

free(9) sizes for bread_cluser().

ok mikeb@, visa@

Revision 1.186 / (download) - annotate - [select for diffs], Mon Aug 13 15:26:17 2018 UTC (5 years, 9 months ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.185: +2 -4 lines
Diff to previous 1.185 (colored)

Simplify the startup of the cleaner, reaper and update threads by
passing the main function directly to kthread_create(9). The start_*
functions are mere stepping stones nowadays and can be pruned.
They used to contain more logic in the pre-kthread era.

While here, set `cleanerproc' and `syncerproc' during the thread
creation rather than expect the threads to set the proc pointer.
Also, rename `sched_sync' to `syncer_thread' to reduce confusion
with the scheduler-related functions.

OK kettenis@, deraadt@, mpi@

Revision 1.185 / (download) - annotate - [select for diffs], Sun Aug 27 01:59:30 2017 UTC (6 years, 9 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.184: +11 -3 lines
Diff to previous 1.184 (colored)

Revisit 2q queue sizes. Limit the hot queue to 1/20th the cache size up
to a max of 4096 pages. Limit the warm and cold queues to half the cache.
This allows us to more effectively notice re-interest in buffers instead
of losing it in a large hot queue.  Discussed and shown with claudio@
and benno@ at tk217

Revision 1.184 / (download) - annotate - [select for diffs], Tue Aug 22 00:18:56 2017 UTC (6 years, 9 months ago) by sf
Branch: MAIN
Changes since 1.183: +10 -1 lines
Diff to previous 1.183 (colored)

Add some buffercache docs

* add clarifications and bread_cluster() buffercache(9)
* add some comments to vfs_bio.c

ok tedu@

Revision 1.183 / (download) - annotate - [select for diffs], Wed Jul 12 11:13:22 2017 UTC (6 years, 11 months ago) by mikeb
Branch: MAIN
Changes since 1.182: +19 -3 lines
Diff to previous 1.182 (colored)

Invalidate read-ahead buffers when read short

Buffercache performs read-ahead for cluster reads by extending
the length of an original read operation to the MAXPHYS (64k).
Upon I/O completion, the length is trimmed and the buffer is
returned to the filesystem and the remaining data is cached.

However, under certain circumstances, the underlying hardware
may fail to do a complete I/O operation and return with a non-
zero value of the residual length (i.e. data that wasn't read).
The residual length may exceed the size of an original request
and must be re-adjusted to uphold the contract with the caller,
e.g. the filesystem. At the same time, read-ahead buffers that
cover chunks of memory corresponding to the residual length
must be invalidated and not cached.

Discussed at length during d2k17, ok tedu

Revision 1.182 / (download) - annotate - [select for diffs], Tue Apr 18 13:41:32 2017 UTC (7 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.181: +7 -3 lines
Diff to previous 1.181 (colored)

ensure the buffer cache backs off all the way with the correct type
of memory, handling the fact that both queues are actually in dma
space when not flipping buffers high

Revision 1.181 / (download) - annotate - [select for diffs], Sun Apr 16 14:25:42 2017 UTC (7 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.180: +166 -29 lines
Diff to previous 1.180 (colored)

Flip previously warm pages in the buffer cache to memory above the DMA
region if uvm tells us it is available.
nits from deraadt@
ok krw@ guenther@ kettenis@

Revision 1.180 / (download) - annotate - [select for diffs], Tue Feb 28 10:49:37 2017 UTC (7 years, 3 months ago) by natano
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.179: +2 -2 lines
Diff to previous 1.179 (colored)

Switch geteblks()'s size argument from int to size_t. It's called with
unsigned variables as argument in most places anyway. Decrease the
chance of signedness/range mismatch issues.

ok stefan

Revision 1.179 / (download) - annotate - [select for diffs], Tue Feb 14 10:31:15 2017 UTC (7 years, 3 months ago) by mpi
Branch: MAIN
Changes since 1.178: +2 -2 lines
Diff to previous 1.178 (colored)

Convert most of the manual checks for CPU hogging to sched_pause().

The distinction between preempt() and yield() stays as it is usueful
to know if a thread decided to yield by itself or if the kernel told
him to go away.

ok tedu@, guenther@

Revision 1.178 / (download) - annotate - [select for diffs], Fri Sep 16 02:54:51 2016 UTC (7 years, 8 months ago) by dlg
Branch: MAIN
Changes since 1.177: +8 -11 lines
Diff to previous 1.177 (colored)

move buf_rb_bufs from RB macros to RBT functions

i had to shuffle the order of some header bits cos RBT_PROTOTYPE
needs to see what RBT_HEAD produces.

Revision 1.177 / (download) - annotate - [select for diffs], Thu Sep 15 02:00:16 2016 UTC (7 years, 8 months ago) by dlg
Branch: MAIN
Changes since 1.176: +2 -3 lines
Diff to previous 1.176 (colored)

all pools have their ipl set via pool_setipl, so fold it into pool_init.

the ioff argument to pool_init() is unused and has been for many
years, so this replaces it with an ipl argument. because the ipl
will be set on init we no longer need pool_setipl.

most of these changes have been done with coccinelle using the spatch
below. cocci sucks at formatting code though, so i fixed that by hand.

the manpage and subr_pool.c bits i did myself.

ok tedu@ jmatthew@

@ipl@
expression pp;
expression ipl;
expression s, a, o, f, m, p;
@@
-pool_init(pp, s, a, o, f, m, p);
-pool_setipl(pp, ipl);
+pool_init(pp, s, a, ipl, f, m, p);

Revision 1.176 / (download) - annotate - [select for diffs], Sun Sep 4 10:51:24 2016 UTC (7 years, 9 months ago) by naddy
Branch: MAIN
Changes since 1.175: +2 -9 lines
Diff to previous 1.175 (colored)

Remove support for tape block devices. Nobody mount(8)s tapes any longer.
ok deraadt@ guenther@

Revision 1.175 / (download) - annotate - [select for diffs], Tue Jun 7 01:31:54 2016 UTC (8 years ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.174: +3 -3 lines
Diff to previous 1.174 (colored)

per trending style, add continue to empty loops.
ok mglocker

Revision 1.174 / (download) - annotate - [select for diffs], Thu Mar 17 03:57:51 2016 UTC (8 years, 2 months ago) by beck
Branch: MAIN
Changes since 1.173: +2 -2 lines
Diff to previous 1.173 (colored)

- add realloc_pages to move a buffer's physmem from one range to another.
- modify B_DMA handling to be in vfs_biomem.c
- change buffer allocation to try allocations with NOWAIT and to throw away clean pages
  if allocation fails - allocate with WAITOK only if you can't throw away enough pages to
  succeed
"probably sound" deraadt@

Revision 1.173 / (download) - annotate - [select for diffs], Thu Mar 10 03:09:45 2016 UTC (8 years, 3 months ago) by beck
Branch: MAIN
Changes since 1.172: +36 -20 lines
Diff to previous 1.172 (colored)

Start some refactoring in here.  this gets bufadjust  out
of the hibernate path and starts preparing for some other work in here

Revision 1.172 / (download) - annotate - [select for diffs], Sun Mar 6 19:15:23 2016 UTC (8 years, 3 months ago) by mpi
Branch: MAIN
Changes since 1.171: +8 -2 lines
Diff to previous 1.171 (colored)

Do not fetch the same block multiple times if it is already present
in the buffer cache.

When the Dynamic Buffer Cache has been introduced bread_cluster()
became the replacement of cluster_read().  However this function
did not consider the B_CACHE flag of the first buffer of a cluster
like its predecessor did.

This improves a lot read operations on MSDOSFS while reducing the
number of DMA operations.

ok beck@

Revision 1.171 / (download) - annotate - [select for diffs], Sat Nov 28 21:52:02 2015 UTC (8 years, 6 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.170: +8 -1 lines
Diff to previous 1.170 (colored)

move buffer size adjustment to buf_adjcnt - from Walter Neto
ok mpi@

Revision 1.170 / (download) - annotate - [select for diffs], Sun Jul 19 16:21:11 2015 UTC (8 years, 10 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.169: +162 -52 lines
Diff to previous 1.169 (colored)

Use two 2q caches for the buffer cache, moving previously warm buffers from the
first queue to the second.
Mark the first queue as DMA in preparation for being able to use more memory
by flipping. Flipper code currently only sets and clears the flag.
ok tedu@ guenther@

Revision 1.169 / (download) - annotate - [select for diffs], Sat Mar 14 03:38:51 2015 UTC (9 years, 3 months ago) by jsg
Branch: MAIN
Changes since 1.168: +1 -6 lines
Diff to previous 1.168 (colored)

Remove some includes include-what-you-use claims don't
have any direct symbols used.  Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@

Revision 1.168 / (download) - annotate - [select for diffs], Sat Feb 7 08:21:24 2015 UTC (9 years, 4 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.167: +2 -2 lines
Diff to previous 1.167 (colored)

Introduce VM_KERNEL_SPACE_SIZE as a replacement for
(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS). This will allow these to no
longer be constants in the future.

ok guenther@

Revision 1.167 / (download) - annotate - [select for diffs], Sun Jan 18 14:01:54 2015 UTC (9 years, 4 months ago) by miod
Branch: MAIN
Changes since 1.166: +3 -5 lines
Diff to previous 1.166 (colored)

Revert 1.166 (but keep the bufq_wait() interface change), for this is wrong
and the bufq pointer might be NULL at the time it is `saved'.

Found the hard way on sparc due to the limited kva, with all disk active
processes ending up sleeping on "buf_needva".

ok kettenis@ krw@

Revision 1.166 / (download) - annotate - [select for diffs], Fri Jan 9 05:04:22 2015 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.165: +5 -3 lines
Diff to previous 1.165 (colored)

save the bufq pointer from the buf before we turn it loose so it won't
change on us. also, remove unused second arg to bufq_wait.
from pedro at bitrig via david hill.
ok beck kettenis

Revision 1.165 / (download) - annotate - [select for diffs], Tue Dec 16 18:30:04 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.164: +3 -1 lines
Diff to previous 1.164 (colored)

primary change: move uvm_vnode out of vnode, keeping only a pointer.
objective: vnode.h doesn't include uvm_extern.h anymore.
followup changes: include uvm_extern.h or lock.h where necessary.
ok and help from deraadt

Revision 1.164 / (download) - annotate - [select for diffs], Thu Dec 11 14:33:48 2014 UTC (9 years, 6 months ago) by jmc
Branch: MAIN
Changes since 1.163: +3 -3 lines
Diff to previous 1.163 (colored)

typos; from kaspars bankovskis

Revision 1.163 / (download) - annotate - [select for diffs], Wed Oct 8 07:33:14 2014 UTC (9 years, 8 months ago) by blambert
Branch: MAIN
Changes since 1.162: +1 -11 lines
Diff to previous 1.162 (colored)

Now that the cleaner yields the cpu, we can stop checking
to see if we've hogged the cpu for >1 second.

okay miod@

Revision 1.162 / (download) - annotate - [select for diffs], Tue Sep 9 07:07:39 2014 UTC (9 years, 9 months ago) by blambert
Branch: MAIN
Changes since 1.161: +3 -1 lines
Diff to previous 1.161 (colored)

Make the cleaner, syncer, pagedaemon, aiodone daemons all
yield() if the cpu is marked SHOULDYIELD.

ok miod@ tedu@ phessler@

Revision 1.161 / (download) - annotate - [select for diffs], Sun Aug 31 21:08:48 2014 UTC (9 years, 9 months ago) by tedu
Branch: MAIN
Changes since 1.160: +151 -11 lines
Diff to previous 1.160 (colored)

replace LRU bufcache with something originally modelled after 2Q.
this should provide a degree of scan resistance, and also serves as a
midway point for further development of multi queue algorithms.
i've tried to minimize the risk and degree of regressions.
probably ok beck

Revision 1.160 / (download) - annotate - [select for diffs], Sun Jul 13 15:48:41 2014 UTC (9 years, 11 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.159: +2 -2 lines
Diff to previous 1.159 (colored)

trim some casts

Revision 1.159 / (download) - annotate - [select for diffs], Sun Jul 13 15:29:04 2014 UTC (9 years, 11 months ago) by tedu
Branch: MAIN
Changes since 1.158: +2 -2 lines
Diff to previous 1.158 (colored)

use mallocarray where arguments are multipled. ok deraadt

Revision 1.158 / (download) - annotate - [select for diffs], Sat Jul 12 18:43:32 2014 UTC (9 years, 11 months ago) by tedu
Branch: MAIN
Changes since 1.157: +3 -3 lines
Diff to previous 1.157 (colored)

add a size argument to free. will be used soon, but for now default to 0.
after discussions with beck deraadt kettenis.

Revision 1.157 / (download) - annotate - [select for diffs], Fri Jul 11 03:06:08 2014 UTC (9 years, 11 months ago) by mlarkin
Branch: MAIN
Changes since 1.156: +33 -1 lines
Diff to previous 1.156 (colored)

Flush the buffercache to 16MB on hibernate and restore its previous max
size (kern.bufcachepercent) on resume, for better hibernate performance.

ok beck@

Revision 1.156 / (download) - annotate - [select for diffs], Tue Jul 8 17:19:25 2014 UTC (9 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.155: +1 -3 lines
Diff to previous 1.155 (colored)

decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.h
don't need to be married.
ok guenther miod beck jsing kettenis

Revision 1.155 / (download) - annotate - [select for diffs], Thu Apr 10 13:48:24 2014 UTC (10 years, 2 months ago) by tedu
Branch: MAIN
Changes since 1.154: +75 -77 lines
Diff to previous 1.154 (colored)

pull the bufcache freelist code out into separate functions to allow new
algorithms to be tested. in the process, drop support for unused B_AGE and
b_synctime options.
previous versions ok beck deraadt

Revision 1.154 / (download) - annotate - [select for diffs], Sat Jan 25 04:23:31 2014 UTC (10 years, 4 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.153: +35 -48 lines
Diff to previous 1.153 (colored)

get rid of the kernel high and low water marks for pages and replace with
a single target of used pages in the cache - so we don't to a ton of work
throwing away pages sporadically while holding the biglock - noticed by dlg.
ok dlg@ deraadt@

Revision 1.153 / (download) - annotate - [select for diffs], Mon Dec 9 17:16:35 2013 UTC (10 years, 6 months ago) by beck
Branch: MAIN
Changes since 1.152: +22 -36 lines
Diff to previous 1.152 (colored)

Don't keep removed files (B_INVAL bufs) in the buffer cache. Free buffers
once brelse() is called and the buffer is B_INVAL.
ok jsing@ krw@

Revision 1.152 / (download) - annotate - [select for diffs], Thu Aug 8 23:25:06 2013 UTC (10 years, 10 months ago) by syl
Branch: MAIN
Changes since 1.151: +4 -3 lines
Diff to previous 1.151 (colored)

Uncomment kprintf format attributes for sys/kern

tested on vax (gcc3) ok miod@

Revision 1.151 / (download) - annotate - [select for diffs], Tue Jul 9 15:37:43 2013 UTC (10 years, 11 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.150: +101 -263 lines
Diff to previous 1.150 (colored)

back out the cache flipper temporarily to work out of tree.
will come back soon.
ok deraadt@

Revision 1.150 / (download) - annotate - [select for diffs], Thu Jun 13 15:00:04 2013 UTC (11 years ago) by tedu
Branch: MAIN
Changes since 1.149: +15 -15 lines
Diff to previous 1.149 (colored)

beck would prefer to keep things just as they were for a while longer.
undo style changes.

Revision 1.149 / (download) - annotate - [select for diffs], Tue Jun 11 21:51:55 2013 UTC (11 years ago) by tedu
Branch: MAIN
Changes since 1.148: +15 -15 lines
Diff to previous 1.148 (colored)

sprinkle knf fairy dust over new buf code

Revision 1.148 / (download) - annotate - [select for diffs], Tue Jun 11 19:01:20 2013 UTC (11 years ago) by beck
Branch: MAIN
Changes since 1.147: +263 -101 lines
Diff to previous 1.147 (colored)

High memory page flipping for the buffer cache.

This change splits the buffer cache free lists into lists of dma reachable
buffers and high memory buffers based on the ranges returned by pmemrange.
Buffers move from dma to high memory as they age, but are flipped to dma
reachable memory if IO is needed to/from and high mem buffer. The total
amount of buffers  allocated is now bufcachepercent of both the dma and
the high memory region.

This change allows the use of large buffer caches on amd64 using more than
4 GB of memory

ok tedu@ krw@ - testing by many.

Revision 1.147 / (download) - annotate - [select for diffs], Tue Jun 11 16:42:16 2013 UTC (11 years ago) by deraadt
Branch: MAIN
Changes since 1.146: +11 -11 lines
Diff to previous 1.146 (colored)

final removal of daddr64_t.  daddr_t has been 64 bit for a long enough
test period; i think 3 years ago the last bugs fell out.
ok otto beck others

Revision 1.146 / (download) - annotate - [select for diffs], Sun Feb 17 17:39:29 2013 UTC (11 years, 3 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.145: +3 -3 lines
Diff to previous 1.145 (colored)

Comment out recently added __attribute__((__format__(__kprintf__))) annotations
in MI code; gcc 2.95 does not accept such annotation for function pointer
declarations, only function prototypes.
To be uncommented once gcc 2.95 bites the dust.

Revision 1.145 / (download) - annotate - [select for diffs], Sat Feb 9 20:56:35 2013 UTC (11 years, 4 months ago) by miod
Branch: MAIN
Changes since 1.144: +4 -3 lines
Diff to previous 1.144 (colored)

Add explicit __attribute__ ((__format__(__kprintf__)))) to the functions and
function pointer arguments which are {used as,} wrappers around the kernel
printf function.
No functional change.

Revision 1.144 / (download) - annotate - [select for diffs], Fri Jan 18 08:52:04 2013 UTC (11 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.143: +2 -2 lines
Diff to previous 1.143 (colored)

Give buf_acquire_unmapped and B_NOTMAPPED a viking funeral as they should
really have been called "maybemapped and hope it all works out". - use
buf_acquire_nomap instead which acounts for busymapped bufs correctly.

ok krw@ guenther@ kettenis@

Revision 1.143 / (download) - annotate - [select for diffs], Sun Jan 13 03:58:09 2013 UTC (11 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.142: +1 -2 lines
Diff to previous 1.142 (colored)

After some discussion with deraadt and kettenis, revert previous decision to
set a high water mark, as this will likely cause us problems in low memory
situations where we can't get a struct buf.
ok kettenis@

Revision 1.142 / (download) - annotate - [select for diffs], Fri Dec 28 14:05:39 2012 UTC (11 years, 5 months ago) by jsing
Branch: MAIN
Changes since 1.141: +4 -6 lines
Diff to previous 1.141 (colored)

Avoid spinning in the cleaner when there are insufficient clean pages, but
there are no buffers on the dirty queue to clean.

ok beck@

Revision 1.141 / (download) - annotate - [select for diffs], Sun Dec 2 19:42:36 2012 UTC (11 years, 6 months ago) by beck
Branch: MAIN
Changes since 1.140: +1 -14 lines
Diff to previous 1.140 (colored)

Fix kva reserve - ensure that kva reserve is checked for, as well
as fix the case where buffers can be returned on the vinvalbuf path
and we do not get woken up when waiting for kva.

An earlier version looked at and ok'd by guenther@ in coimbra. - helpful
comments from kettenis@

Revision 1.140 / (download) - annotate - [select for diffs], Sun Dec 2 19:34:14 2012 UTC (11 years, 6 months ago) by beck
Branch: MAIN
Changes since 1.139: +3 -3 lines
Diff to previous 1.139 (colored)

Don't wake the cleaner and potentially throw away pages we shouldn't
be throwing away when growing the buffer cache - ok mlarkin@

Revision 1.139 / (download) - annotate - [select for diffs], Wed Nov 7 17:50:48 2012 UTC (11 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.138: +165 -119 lines
Diff to previous 1.138 (colored)


Fix the buffer cache.

A long time ago (in vienna) the reserves for the cleaner and syncer were
removed. softdep and many things have not performed ths same ever since.
Follow on generations of buffer cache hackers assumed the exising code
was the reference and have been in frustrating state of coprophagia ever
since.

This commit

0) Brings back a (small) reserve allotment of buffer pages, and the kva to
   map them, to allow the cleaner and syncer to run even when under intense
   memory or kva pressure.
1) Fixes a lot of comments and variables to represent reality.
2) Simplifies and corrects how the buffer cache backs off down to the lowest
   level.
3) Corrects how the page daemons asks the buffer cache to back off, ensuring
   that uvmpd_scan is done to recover inactive pages in low memory situaitons
4) Adds a high water mark to the pool used to allocate struct buf's
5) Correct the cleaner and the sleep/wakeup cases in both low memory and low
   kva situations. (including accounting for the cleaner/syncer reserve)

Tested by many, with very much helpful input from deraadt, miod, tobiasu,
kettenis and others.

ok kettenis@ deraadt@ jj@

Revision 1.138 / (download) - annotate - [select for diffs], Tue Oct 16 02:30:54 2012 UTC (11 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.137: +12 -36 lines
Diff to previous 1.137 (colored)

Cleanup.
- Whitespace KNF
- Removal/fixing of old useless comments
- Removal of unused counter
- Removal of pointless test that had no effect
ok krw@

Revision 1.137 / (download) - annotate - [select for diffs], Tue Oct 9 15:12:15 2012 UTC (11 years, 8 months ago) by beck
Branch: MAIN
Changes since 1.136: +9 -1 lines
Diff to previous 1.136 (colored)

bufq write limiting

This change ensures that writes in flight from the buffer cache via bufq
are limited to a high water mark - when the limit is reached the writes sleep
until the amount of IO in flight reaches a low water mark. This avoids the
problem where userland can queue an unlimited amount of asynchronous writes
resulting in the consumption of all/most of our available buffer mapping kva,
and a long queue of writes to the disk.

ok kettenis@, krw@

Revision 1.136 / (download) - annotate - [select for diffs], Wed May 30 19:32:19 2012 UTC (12 years ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.135: +7 -5 lines
Diff to previous 1.135 (colored)

Fix a few issues in the pressure logic when the available buffers run low:
- make sure the buffer reclaiming loop in buf_get() actually does something
  but spin, if `backoffpages' is nonzero and all free queues have been drained.
- don't forget to set a poor man's condition variable to nonzero before
  tsleeping on it in bufadjust(), otherwise you'll never get woken up.
- don't be too greedy and reassing backoffpages a large amount immediately
  after bufadjust() has been called.

This fixes reproduceable hangs seen during heavy I/O (such as `make install'
of many large files, e.g. run in /usr/src/lib with NOMAN=) on systems with
a challenged number of pages (less than a few thousands, total).

Part of this is temporary bandaid until a better pressure logic is devised,
but it's solving an immediate problem. Been in snapshots for a solid month.

Revision 1.135 / (download) - annotate - [select for diffs], Fri Mar 23 15:51:26 2012 UTC (12 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.134: +5 -5 lines
Diff to previous 1.134 (colored)

Make rusage totals, itimers, and profile settings per-process instead
of per-rthread.  Handling of per-thread tick and runtime counters
inspired by how FreeBSD does it.

ok kettenis@

Revision 1.134 / (download) - annotate - [select for diffs], Mon Sep 19 14:48:04 2011 UTC (12 years, 8 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.133: +10 -8 lines
Diff to previous 1.133 (colored)

clean up buffer cache statistics somewhat to
remove some now useless statistics, and add some
relevant ones regarding kva usage in the cache.

make systat io and show bcstats in ddb both show
these counters.

ok deraadt@ krw@

Revision 1.133 / (download) - annotate - [select for diffs], Wed Jul 6 20:50:05 2011 UTC (12 years, 11 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.132: +2 -2 lines
Diff to previous 1.132 (colored)

the rest of the uvm commit - I commited from uvm instead of sys
(part missed from previous commit)

Revision 1.132 / (download) - annotate - [select for diffs], Mon Jul 4 20:35:35 2011 UTC (12 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.131: +2 -3 lines
Diff to previous 1.131 (colored)

move the specfs code to a place people can see it; ok guenther thib krw

Revision 1.131 / (download) - annotate - [select for diffs], Mon Jul 4 04:30:41 2011 UTC (12 years, 11 months ago) by tedu
Branch: MAIN
Changes since 1.130: +3 -4 lines
Diff to previous 1.130 (colored)

bread does nothing with its ucred argument.  remove it.  ok matthew

Revision 1.130 / (download) - annotate - [select for diffs], Sun Jun 5 19:41:04 2011 UTC (13 years ago) by deraadt
Branch: MAIN
Changes since 1.129: +1 -7 lines
Diff to previous 1.129 (colored)

Move the bufcachepercent setting code to MI locations -- set it to 42%
for now; that is unlikely to hit some of the remaining starvation bugs.
Repair the bufpages calculation too; i386 was doing it ahead of time
(incorrectly) and then re-calculating it.
ok thib

Revision 1.129 / (download) - annotate - [select for diffs], Thu Apr 7 19:07:42 2011 UTC (13 years, 2 months ago) by beck
Branch: MAIN
Changes since 1.128: +4 -3 lines
Diff to previous 1.128 (colored)

Revert previous diff decrementing bcstats.numbufpages here. This function
does not do what it purports to do, it shrinks mapping, not allocation, as
the pages have already been given away to other buffers. This also renames
the function to make this a little more obvious

and art should not name funcitons

ok thib@, art@

Revision 1.128 / (download) - annotate - [select for diffs], Sat Apr 2 16:47:17 2011 UTC (13 years, 2 months ago) by beck
Branch: MAIN
Changes since 1.127: +7 -4 lines
Diff to previous 1.127 (colored)

Constrain the buffer cache to use only the dma reachable region of memory.
With this change bufcachepercent will be the percentage of dma reachable
memory that the buffer cache will attempt to use.
ok deraadt@ thib@ oga@

Revision 1.127 / (download) - annotate - [select for diffs], Sat Nov 13 17:45:44 2010 UTC (13 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.126: +1 -12 lines
Diff to previous 1.126 (colored)

backout 1.86
it is totally wrong to convert bdwrite into bawrite on the fly.  this just
causes way bigger issues.
ok beck blambert

Revision 1.126 / (download) - annotate - [select for diffs], Tue Aug 3 06:30:19 2010 UTC (13 years, 10 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.125: +1 -1 lines
Diff to previous 1.125 (colored)

matthew did not commit the diff he passed around for us to inspect...
repair that situation.  Darn newbies...

Revision 1.125 / (download) - annotate - [select for diffs], Tue Aug 3 04:10:16 2010 UTC (13 years, 10 months ago) by matthew
Branch: MAIN
Changes since 1.124: +10 -6 lines
Diff to previous 1.124 (colored)

If an asynchronous request invalidates a buf, then we might remove it
from its vnode's buffer cache in an interrupt context.  Therefore we
need interrupt protection when searching the buffer red-black tree.

ok deraadt@, thib@, art@

Revision 1.124 / (download) - annotate - [select for diffs], Thu Jul 1 16:23:09 2010 UTC (13 years, 11 months ago) by thib
Branch: MAIN
Changes since 1.123: +4 -1 lines
Diff to previous 1.123 (colored)

Call bufq_done at the top of biodone, so we don't call it on
a freed buf as that causes problems...

Revision 1.123 / (download) - annotate - [select for diffs], Wed Jun 30 22:41:43 2010 UTC (13 years, 11 months ago) by thib
Branch: MAIN
Changes since 1.122: +1 -4 lines
Diff to previous 1.122 (colored)

Disable/partially backout the bufq quiesce changes as this
is causing havoc with vnds and release must be buildable.

Revision 1.122 / (download) - annotate - [select for diffs], Tue Jun 29 18:52:20 2010 UTC (13 years, 11 months ago) by kettenis
Branch: MAIN
Changes since 1.121: +4 -1 lines
Diff to previous 1.121 (colored)

Introduce bufq_quiesce(), which will block I/O ifrom getting on the queues,
and waits until all I/O currently on the queues has been completed.  To get
I/O going again, call bufq_restart().

To be used for suspend/resume.

Joint effort with thib@, tedu@; tested by mlarkin@, marco@

Revision 1.121 / (download) - annotate - [select for diffs], Fri Feb 5 12:24:32 2010 UTC (14 years, 4 months ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.120: +5 -4 lines
Diff to previous 1.120 (colored)

Use correct format specifiers for 'show bcstats'.

ok beck@ krw@

Revision 1.120 / (download) - annotate - [select for diffs], Sat Aug 8 15:04:43 2009 UTC (14 years, 10 months ago) by beck
Branch: MAIN
Changes since 1.119: +32 -6 lines
Diff to previous 1.119 (colored)

two things:
1) fix buffer cache low water mark to allow for extremely low memory machines
without dying
2) Add "show bcstats" to ddb to allow for looking at the buffer cache statistics in ddb

ok art@ oga@

Revision 1.119 / (download) - annotate - [select for diffs], Sun Aug 2 16:28:40 2009 UTC (14 years, 10 months ago) by beck
Branch: MAIN
Changes since 1.118: +166 -39 lines
Diff to previous 1.118 (colored)


Dynamic buffer cache support - a re-commit of what was backed out
after c2k9

allows buffer cache to be extended and grow/shrink dynamically

tested by many, ok oga@, "why not just commit it" deraadt@

Revision 1.118 / (download) - annotate - [select for diffs], Thu Jun 25 15:49:26 2009 UTC (14 years, 11 months ago) by thib
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.117: +2 -0 lines
Diff to previous 1.117 (colored)

backout the buf_acquire() does the bremfree() since all callers
where doing bremfree() befure calling buf_acquire().

This is causing us headache pinning down a bug that showed up
when deraadt@ too cvs to current, and will have to be done
anyway as a preperation for backouts.

OK deraadt@

Revision 1.117 / (download) - annotate - [select for diffs], Mon Jun 15 17:01:26 2009 UTC (14 years, 11 months ago) by beck
Branch: MAIN
Changes since 1.116: +39 -166 lines
Diff to previous 1.116 (colored)

Back out all the buffer cache changes I committed during c2k9. This reverts three
commits:

1) The sysctl allowing bufcachepercent to be changed at boot time.
2) The change moving the buffer cache hash chains to a red-black tree
3) The dynamic buffer cache (Which depended on the earlier too).

ok on the backout from marco and todd

Revision 1.116 / (download) - annotate - [select for diffs], Sat Jun 6 18:06:22 2009 UTC (15 years ago) by art
Branch: MAIN
Changes since 1.115: +1 -3 lines
Diff to previous 1.115 (colored)

All caller of buf_acquire were doing bremfree before the call.
Just put it in the buf_acquire function.
oga@ ok

Revision 1.115 / (download) - annotate - [select for diffs], Fri Jun 5 04:29:14 2009 UTC (15 years ago) by beck
Branch: MAIN
Changes since 1.114: +109 -5 lines
Diff to previous 1.114 (colored)

Dynamic buffer cache sizing.

This commit won't change the default behaviour of the system unless the
buffer cache size is increased with sysctl kern.bufcachepercent. By default
our buffer cache is 10% of memory, which with this commit is now treated
as a low water mark.  If the buffer cache size is increased, the new size
is treated as a high water mark and the buffer cache is permitted to grow
to that percentage of memory.

If the page daemon is invoked, the page daemon will ask the buffer cache
to relenquish pages. if the buffer cache has more than the low water mark it
will relenquish pages allowing them to be consumed by uvm. after a short
period the buffer cache will attempt to re-grow back to the high water mark.

This permits the use of a large buffer cache without penalizing the available
memory for other purposes.

Above the low water mark the buffer cache remains entirely subservient to
the page daemon, so if uvm requires pages, the buffer cache will abandon
them.

ok art@ thib@ oga@

Revision 1.114 / (download) - annotate - [select for diffs], Wed Jun 3 21:30:20 2009 UTC (15 years ago) by beck
Branch: MAIN
Changes since 1.113: +28 -1 lines
Diff to previous 1.113 (colored)

add kern.bufcachepercent sysctl to allow adjusting the buffer cache
size on a running system.
ok art@, oga@

Revision 1.113 / (download) - annotate - [select for diffs], Wed Jun 3 04:30:57 2009 UTC (15 years ago) by beck
Branch: MAIN
Changes since 1.112: +31 -35 lines
Diff to previous 1.112 (colored)

Change bufhash from the old grotty hash table to red-black trees hanging
off the vnode.
ok art@, oga@, miod@

Revision 1.112 / (download) - annotate - [select for diffs], Wed Apr 22 13:12:26 2009 UTC (15 years, 1 month ago) by art
Branch: MAIN
Changes since 1.111: +141 -225 lines
Diff to previous 1.111 (colored)

Make the interactions in allocating buffers less confusing.

- getnewbuf dies. instead of having getnewbuf, buf_get, buf_stub and
 buf_init we now have buf_get that is smaller than some of those
 functions were before.

- Instead of allocating anonymous buffers and then freeing them if we
 happened to lose the race to the hash, always allocate a buffer knowing
 which <vnode, block> it will belong to.

- In cluster read, instead of allocating an anonymous buffer to cover
 the whole read and then stubs for every buffer under it, make the
 first buffer in the cluster cover the whole range and then shrink it
 in the callback.

now, all buffers are always on the correct hash and we always know their
identity.

discussed with many, kettenis@ ok

Revision 1.111 / (download) - annotate - [select for diffs], Mon Mar 23 15:10:44 2009 UTC (15 years, 2 months ago) by beck
Branch: MAIN
Changes since 1.110: +9 -6 lines
Diff to previous 1.110 (colored)

fix buffer cache pending writs statistic so it does not go negative.
this ensures we ignore counting any buffers returning through biodone()
for which B_PHYS has been set - which should be set on all transfers
that manually do raw io bypassing the buffer cache by setting up their
own buffer and calling strategy..

ok thib@, todd@, and now that he is a buffer cache and nfs hacker oga@

Revision 1.110 / (download) - annotate - [select for diffs], Sun Jan 11 17:40:00 2009 UTC (15 years, 5 months ago) by oga
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.109: +0 -4 lines
Diff to previous 1.109 (colored)

backout revision 1.109
"keep b_proc set to the process, thats doing the io as advertised"

This broke dvd playing on my laptop (page fault trap in vmapbuf in the
physio path).

thib's cookie privileges are hereby suspended until further notice.

Revision 1.109 / (download) - annotate - [select for diffs], Fri Jan 9 20:28:10 2009 UTC (15 years, 5 months ago) by thib
Branch: MAIN
Changes since 1.108: +5 -1 lines
Diff to previous 1.108 (colored)

keep b_proc set to the proccess,
thats doing the io as advertised

closes PR3948

OK tedu@ (and blambert@ I think).

Revision 1.108 / (download) - annotate - [select for diffs], Sat Nov 22 12:40:39 2008 UTC (15 years, 6 months ago) by pedro
Branch: MAIN
Changes since 1.107: +5 -21 lines
Diff to previous 1.107 (colored)

Move diagnostic assertions concerning the recycle process of buffers
from getnewbuf() to buf_put(), since getnewbuf() does not directly
recycle buffers anymore. While at it, remove two lines of dead code
from getnewbuf(), which used to disassociate a vnode from a buffer.
"just go for it, because everyone had a chance" deraadt@.

Revision 1.107 / (download) - annotate - [select for diffs], Sat Jun 14 00:49:35 2008 UTC (16 years ago) by art
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.106: +11 -0 lines
Diff to previous 1.106 (colored)

Belt, suspenders, duct tape and glue.

In brelse, if we end up in the B_INVAL case without mappings, check
for B_WANTED and wake up the sleeper if there's one before freeing the
buffer. This shouldn't happen, but it looks like there might actually
be some dodgy corner cases in nfs where this could just happen if the
phase of the moon is right and the wind is blowing from the right
direction.

thib@ ok

Revision 1.106 / (download) - annotate - [select for diffs], Thu Jun 12 06:58:39 2008 UTC (16 years ago) by deraadt
Branch: MAIN
Changes since 1.105: +159 -261 lines
Diff to previous 1.105 (colored)

Bring biomem diff back into the tree after the nfs_bio.c fix went in.
ok thib beck art

Revision 1.105 / (download) - annotate - [select for diffs], Wed Jun 11 12:35:46 2008 UTC (16 years ago) by deraadt
Branch: MAIN
Changes since 1.104: +260 -158 lines
Diff to previous 1.104 (colored)

back out biomem diff since it is not right yet.  Doing very large
file copies to nfsv2 causes the system to eventually peg the console.
On the console ^T indicates that the load is increasing rapidly, ddb
indicates many calls to getbuf, there is some very slow nfs traffic
making none (or extremely slow) progress.  Eventually some machines
seize up entirely.

Revision 1.104 / (download) - annotate - [select for diffs], Tue Jun 10 20:14:36 2008 UTC (16 years ago) by beck
Branch: MAIN
Changes since 1.103: +159 -261 lines
Diff to previous 1.103 (colored)


Buffer cache revamp

1) remove multiple size queues, introduced as a stopgap.
2) decouple pages containing data from their mappings
3) only keep buffers mapped when they actually have to be mapped
  (right now, this is when buffers are B_BUSY)
4) New functions to make a buffer busy, and release the busy flag
   (buf_acquire and buf_release)
5) Move high/low water marks and statistics counters into a structure
6) Add a sysctl to retrieve buffer cache statistics

Tested in several variants and beat upon by bob and art for a year. run
accidentally on henning's nfs server for a few months...

ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout

Revision 1.103 / (download) - annotate - [select for diffs], Sun Mar 16 19:42:57 2008 UTC (16 years, 2 months ago) by otto
Branch: MAIN
Changes since 1.102: +16 -1 lines
Diff to previous 1.102 (colored)

Widen some struct statfs fields to support large filesystem stata
and add some to be able to support statvfs(2). Do the compat dance
to provide backward compatibility.  ok thib@ miod@

Revision 1.102 / (download) - annotate - [select for diffs], Sun Oct 21 15:54:55 2007 UTC (16 years, 7 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)

This QUEUE_DEBUG should really be DIAGNOSTIC - we need these checks
normally.
ok deraadt@ tedu@ otto@

Revision 1.101 / (download) - annotate - [select for diffs], Thu Oct 18 20:26:55 2007 UTC (16 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 (colored)

Correct possible spl problem in buffer cleaning daemon - the buffer cleaning
daemon requires splbio when doing dirty buffer queue manipulation. Since
version 1.88 of vfs_bio.c, it was possible to break out of the processing
loop when the cleaner had been running long enough, and this early exit would
mean a future pass through would manipulate the buffer queues not at splbio.
This change corrects this.
ok krw@, deraadt@, tedu@, thib@

Revision 1.100 / (download) - annotate - [select for diffs], Sat Sep 15 10:10:37 2007 UTC (16 years, 8 months ago) by martin
Branch: MAIN
Changes since 1.99: +19 -19 lines
Diff to previous 1.99 (colored)

replace ctob and btoc with ptoa and atop respectively

help and ok miod@ thib@

Revision 1.99 / (download) - annotate - [select for diffs], Tue Aug 7 04:32:45 2007 UTC (16 years, 10 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.98: +31 -10 lines
Diff to previous 1.98 (colored)


   A few changes to deal with multi-user performance issues seen. this
brings us back roughly to 4.1 level performance, although this is still
far from optimal as we have seen in a number of cases. This change

	1) puts a lower bound on buffer cache queues to prevent starvation
	2) fixes the code which looks for a buffer to recycle
	3) reduces the number of vnodes back to 4.1 levels to avoid complex
	   performance issues better addressed after 4.2

ok art@ deraadt@, tested by many

Revision 1.98 / (download) - annotate - [select for diffs], Mon Jul 9 15:30:25 2007 UTC (16 years, 11 months ago) by miod
Branch: MAIN
Changes since 1.97: +5 -4 lines
Diff to previous 1.97 (colored)

Do not allow clustering read for filesystems which block size is smaller
than the hardware page size, as was the case in the old clustering code.
This fixes vnd reads on alpha and sparc64

On behalf of pedro@, ok art@

Revision 1.97 / (download) - annotate - [select for diffs], Sun Jun 17 20:06:10 2007 UTC (16 years, 11 months ago) by jasper
Branch: MAIN
Changes since 1.96: +3 -3 lines
Diff to previous 1.96 (colored)

de-register

ok thib@

Revision 1.96 / (download) - annotate - [select for diffs], Sat Jun 9 08:21:34 2007 UTC (17 years ago) by pedro
Branch: MAIN
Changes since 1.95: +2 -2 lines
Diff to previous 1.95 (colored)

Protect access to 'bufhead' with splbio(), okay art@ millert@ marco@

Revision 1.95 / (download) - annotate - [select for diffs], Sun Jun 3 20:25:12 2007 UTC (17 years ago) by otto
Branch: MAIN
Changes since 1.94: +20 -25 lines
Diff to previous 1.94 (colored)

backout rev 1.91 and 1.92, it causes proceses to hang on low mem
machines. ok deraadt@

Revision 1.94 / (download) - annotate - [select for diffs], Fri Jun 1 23:35:42 2007 UTC (17 years ago) by pedro
Branch: MAIN
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored)

Uninline bio_doread(), okay art@

Revision 1.93 / (download) - annotate - [select for diffs], Fri Jun 1 17:34:08 2007 UTC (17 years ago) by dlg
Branch: MAIN
Changes since 1.92: +2 -2 lines
Diff to previous 1.92 (colored)

dont request zeroed memory when we allocate data regions for buffers. this
moves memset from the 20th most expensive function in the kernel to the
331st when doing heavy io.

ok tedu@ thib@ pedro@ beck@ art@

Revision 1.92 / (download) - annotate - [select for diffs], Tue May 29 21:34:43 2007 UTC (17 years ago) by art
Branch: MAIN
Changes since 1.91: +2 -1 lines
Diff to previous 1.91 (colored)

I suck. Forgot splx() in the early return path.

Revision 1.91 / (download) - annotate - [select for diffs], Tue May 29 18:50:08 2007 UTC (17 years ago) by art
Branch: MAIN
Changes since 1.90: +24 -20 lines
Diff to previous 1.90 (colored)

Change getnewbuf from taking lots of sleep arguments and then doing magic
with them and trying to pass an error back after sleep, to just fail with
NULL and let the caller wait for buffers.

Introduce buf_wait() that does all the sleep magic and use buf_wait in
the getnewbuf callers where it matters.

pedro@ beck@ ok

Revision 1.90 / (download) - annotate - [select for diffs], Mon May 28 22:18:48 2007 UTC (17 years ago) by thib
Branch: MAIN
Changes since 1.89: +2 -1 lines
Diff to previous 1.89 (colored)

pool_setipl() on the bufpool, to make sure that
every get/put is at IPL_BIO.

ok pedro@

Revision 1.89 / (download) - annotate - [select for diffs], Sun May 27 01:25:56 2007 UTC (17 years ago) by pedro
Branch: MAIN
Changes since 1.88: +1 -2 lines
Diff to previous 1.88 (colored)

remove silly comment, okay deraadt@

Revision 1.88 / (download) - annotate - [select for diffs], Sat May 26 20:26:51 2007 UTC (17 years ago) by pedro
Branch: MAIN
Changes since 1.87: +439 -228 lines
Diff to previous 1.87 (colored)

Dynamic buffer cache. Initial diff from mickey@, okay art@ beck@ toby@
deraadt@ dlg@.

Revision 1.87 / (download) - annotate - [select for diffs], Sat Oct 21 18:09:52 2006 UTC (17 years, 7 months ago) by thib
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.86: +15 -24 lines
Diff to previous 1.86 (colored)

Retire B_LOCKED and BQ_LOCKED. The last real usage of the
flag and the buffer queue went away when LFS was removed.

ok, pedro@
"looks sane", deraadt@
testing: tybollt@solace.miun.se

Revision 1.86 / (download) - annotate - [select for diffs], Thu Oct 19 12:04:31 2006 UTC (17 years, 7 months ago) by mickey
Branch: MAIN
Changes since 1.85: +12 -1 lines
Diff to previous 1.85 (colored)

some buffers (containing metadata) can only be written during the
bdwrite call made on 'em due to otherwise pending softdeps and thus
being deferred by the sybcer. promote bdwrite into bawrite for
those cases. tested by many.
pedro@ ok

Revision 1.85 / (download) - annotate - [select for diffs], Mon Oct 16 11:27:53 2006 UTC (17 years, 7 months ago) by pedro
Branch: MAIN
Changes since 1.84: +7 -7 lines
Diff to previous 1.84 (colored)

Use daddr64_t for logical blocks, okay krw@ thib@ mickey@

Revision 1.84 / (download) - annotate - [select for diffs], Mon Aug 28 16:15:29 2006 UTC (17 years, 9 months ago) by tom
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.83: +2 -2 lines
Diff to previous 1.83 (colored)

Another grammar nit; "please go ahead" jmc@.

Revision 1.83 / (download) - annotate - [select for diffs], Mon Aug 28 12:48:53 2006 UTC (17 years, 9 months ago) by jmc
Branch: MAIN
Changes since 1.82: +5 -5 lines
Diff to previous 1.82 (colored)

typos; from tbert
(one not taken)

Revision 1.82 / (download) - annotate - [select for diffs], Thu Aug 17 13:55:57 2006 UTC (17 years, 9 months ago) by mickey
Branch: MAIN
Changes since 1.81: +12 -13 lines
Diff to previous 1.81 (colored)

chose proper mountpoint in making decision on upgrading
bwrte() to async op. this fixes in particular panics w/
softdep ffs mounted at a dir in an async mounted (mfs)
file system and also a few other evil scenarios.
this also matches a netbsd change 1.76 .
tested by many on many archs; pedro@ ok

Revision 1.81 / (download) - annotate - [select for diffs], Wed Aug 9 12:00:03 2006 UTC (17 years, 10 months ago) by pedro
Branch: MAIN
Changes since 1.80: +26 -13 lines
Diff to previous 1.80 (colored)

Propagate error on getnewbuf(), effectively allowing callers to be
notified of posted signals for the current process, okay tedu@.
Based on initial diagnosis by R. Tyler Ballance <tyler@bleepsoft.com>

Revision 1.80 / (download) - annotate - [select for diffs], Mon Apr 24 15:08:48 2006 UTC (18 years, 1 month ago) by pedro
Branch: MAIN
Changes since 1.79: +5 -5 lines
Diff to previous 1.79 (colored)

Use NULL where NULL is meant, from thib, no binary change

Revision 1.79 / (download) - annotate - [select for diffs], Sun Nov 6 13:07:47 2005 UTC (18 years, 7 months ago) by pedro
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.78: +2 -2 lines
Diff to previous 1.78 (colored)

Use ANSI-style function declarations, no binary change, okay jsg@

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Tue Nov 1 00:57:01 2005 UTC (18 years, 7 months ago) by brad
Branch: OPENBSD_3_8
Changes since 1.77: +16 -40 lines
Diff to previous 1.77 (colored) next main 1.78 (colored)

MFC:
Fix by pedro@

Revert revision 1.39. Under heavy load, it could cause severe corruption
in the buffer lists by removing a buffer from the hash twice. Problem
identified in discussion with Alexander Bluhm <Alexander_Bluhm@genua.de>.

ok deraadt@ pedro@

Revision 1.69.2.1 / (download) - annotate - [select for diffs], Thu Oct 13 15:52:11 2005 UTC (18 years, 8 months ago) by brad
Branch: OPENBSD_3_6
Changes since 1.69: +16 -40 lines
Diff to previous 1.69 (colored) next main 1.70 (colored)

MFC:
Fix by pedro@

Revert revision 1.39. Under heavy load, it could cause severe corruption
in the buffer lists by removing a buffer from the hash twice. Problem
identified in discussion with Alexander Bluhm <Alexander_Bluhm@genua.de>.

ok deraadt@ pedro@

Revision 1.75.2.1 / (download) - annotate - [select for diffs], Wed Oct 12 22:01:05 2005 UTC (18 years, 8 months ago) by brad
Branch: OPENBSD_3_7
Changes since 1.75: +16 -40 lines
Diff to previous 1.75 (colored) next main 1.76 (colored)

MFC:
Fix by pedro@

Revert revision 1.39. Under heavy load, it could cause severe corruption
in the buffer lists by removing a buffer from the hash twice. Problem
identified in discussion with Alexander Bluhm <Alexander_Bluhm@genua.de>.

ok deraadt@ pedro@

Revision 1.78 / (download) - annotate - [select for diffs], Sat Oct 8 16:36:23 2005 UTC (18 years, 8 months ago) by pedro
Branch: MAIN
Changes since 1.77: +16 -40 lines
Diff to previous 1.77 (colored)

Revert revision 1.39. Under heavy load, it could cause severe corruption
in the buffer lists by removing a buffer from the hash twice. Problem
identified in discussion with Alexander Bluhm <Alexander_Bluhm@genua.de>.

Revision 1.77 / (download) - annotate - [select for diffs], Mon Jun 27 22:08:39 2005 UTC (18 years, 11 months ago) by pedro
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE
Branch point for: OPENBSD_3_8
Changes since 1.76: +3 -4 lines
Diff to previous 1.76 (colored)

When releasing a buffer and disassociating it from its vnode, there's
no point in placing the buffer in the vnode's clean list just to remove
it afterwards. Talked over with art@, various testing for a while.

Revision 1.76 / (download) - annotate - [select for diffs], Fri Jun 17 16:45:02 2005 UTC (18 years, 11 months ago) by pedro
Branch: MAIN
Changes since 1.75: +2 -2 lines
Diff to previous 1.75 (colored)

Protect buf_countdeps() call in buf_daemon() with splbio(), okay art@

Revision 1.75 / (download) - annotate - [select for diffs], Sun Dec 26 21:22:13 2004 UTC (19 years, 5 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE
Branch point for: OPENBSD_3_7
Changes since 1.74: +5 -5 lines
Diff to previous 1.74 (colored)

Use list and queue macros where applicable to make the code easier to read;
no change in compiler assembly output.

Revision 1.74 / (download) - annotate - [select for diffs], Sat Dec 11 14:26:31 2004 UTC (19 years, 6 months ago) by pedro
Branch: MAIN
Changes since 1.73: +4 -7 lines
Diff to previous 1.73 (colored)

match comments with reality and use 'null' for pointers in incore()

Revision 1.73 / (download) - annotate - [select for diffs], Sun Dec 5 04:42:42 2004 UTC (19 years, 6 months ago) by jsg
Branch: MAIN
Changes since 1.72: +2 -2 lines
Diff to previous 1.72 (colored)

less then -> less than

Revision 1.72 / (download) - annotate - [select for diffs], Tue Nov 30 12:39:43 2004 UTC (19 years, 6 months ago) by pedro
Branch: MAIN
Changes since 1.71: +1 -14 lines
Diff to previous 1.71 (colored)

kill breada(), from Sven Dehmlow. ok tedu@ millert@

Revision 1.71 / (download) - annotate - [select for diffs], Mon Nov 1 15:55:38 2004 UTC (19 years, 7 months ago) by pedro
Branch: MAIN
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored)

english

Revision 1.70 / (download) - annotate - [select for diffs], Mon Sep 20 10:56:51 2004 UTC (19 years, 8 months ago) by pedro
Branch: MAIN
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (colored)

spl dance to protect buffer flags in a sensitive context
ok millert@ tedu@

Revision 1.69 / (download) - annotate - [select for diffs], Thu Jun 24 19:35:24 2004 UTC (19 years, 11 months ago) by tholo
Branch: MAIN
CVS Tags: OPENBSD_3_6_BASE
Branch point for: OPENBSD_3_6
Changes since 1.68: +6 -3 lines
Diff to previous 1.68 (colored)

This moves access to wall and uptime variables in MI code,
encapsulating all such access into wall-defined functions
that makes sure locking is done as needed.

It also cleans up some uses of wall time vs. uptime some
places, but there is sure to be more of these needed as
well, particularily in MD code.  Also, many current calls
to microtime() should probably be changed to getmicrotime(),
or to the {,get}microuptime() versions.

ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others
"Oh, that is not your problem!" from miod@

Revision 1.26.2.9 / (download) - annotate - [select for diffs], Sat Jun 7 11:03:41 2003 UTC (21 years ago) by ho
Branch: SMP
Changes since 1.26.2.8: +2 -6 lines
Diff to previous 1.26.2.8 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Sync SMP branch to -current

Revision 1.68 / (download) - annotate - [select for diffs], Mon Jun 2 23:28:07 2003 UTC (21 years ago) by millert
Branch: MAIN
CVS Tags: SMP_SYNC_B, SMP_SYNC_A, OPENBSD_3_5_BASE, OPENBSD_3_5, OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.67: +2 -6 lines
Diff to previous 1.67 (colored)

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.  Proofed by myself and Theo.

Revision 1.67 / (download) - annotate - [select for diffs], Tue May 13 17:47:15 2003 UTC (21 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: UBC_SYNC_A
Changes since 1.66: +1 -1 lines
Diff to previous 1.66 (colored)

Fix the tree.  Jason, you were such a rock star yesterday, but it obviously
blinded you to the fact you were breaking ALL of our install media!

Revision 1.66 / (download) - annotate - [select for diffs], Tue May 13 02:09:46 2003 UTC (21 years, 1 month ago) by jason
Branch: MAIN
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 (colored)

Kill a bunch more commons (very few left =)

Revision 1.26.2.8 / (download) - annotate - [select for diffs], Fri Mar 28 00:41:27 2003 UTC (21 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.26.2.7: +40 -71 lines
Diff to previous 1.26.2.7 (colored) to branchpoint 1.26 (colored)

Sync the SMP branch with 3.3

Revision 1.54.2.3 / (download) - annotate - [select for diffs], Mon Nov 4 18:02:31 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.54.2.2: +4 -2 lines
Diff to previous 1.54.2.2 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored)

Huge sync to NetBSD plus lots of bugfixes.
 - uvm is as in netbsd-current minus uvm_map forward merge.
 - various locking bugfixes in nfs.
 - make sure that all specops and fifoops are correct in all vnodeop vectors.
 - make the filesystem code more like filsystem code and less like vm code.

Revision 1.54.2.2 / (download) - annotate - [select for diffs], Tue Jun 11 03:29:40 2002 UTC (22 years ago) by art
Branch: UBC
Changes since 1.54.2.1: +40 -66 lines
Diff to previous 1.54.2.1 (colored) to branchpoint 1.54 (colored)

Sync UBC branch to -current

Revision 1.65 / (download) - annotate - [select for diffs], Sun Jun 9 04:34:12 2002 UTC (22 years ago) by art
Branch: MAIN
CVS Tags: UBC_SYNC_B, OPENBSD_3_3_BASE, OPENBSD_3_3, OPENBSD_3_2_BASE, OPENBSD_3_2
Changes since 1.64: +3 -6 lines
Diff to previous 1.64 (colored)

Use LIST_FOREACH.

Revision 1.64 / (download) - annotate - [select for diffs], Sun Jun 9 01:11:18 2002 UTC (22 years ago) by art
Branch: MAIN
Changes since 1.63: +28 -64 lines
Diff to previous 1.63 (colored)

ANSIfy (started as some other change that just ran away).

Revision 1.63 / (download) - annotate - [select for diffs], Fri May 24 14:06:34 2002 UTC (22 years ago) by art
Branch: MAIN
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored)

protect more of the bookkeeping variables with splbio.

Revision 1.62 / (download) - annotate - [select for diffs], Fri May 24 13:59:33 2002 UTC (22 years ago) by art
Branch: MAIN
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored)

typo

Revision 1.61 / (download) - annotate - [select for diffs], Wed May 22 00:22:06 2002 UTC (22 years ago) by art
Branch: MAIN
Changes since 1.60: +3 -1 lines
Diff to previous 1.60 (colored)

some b_iodone handlers and vwakeup require splbio.
Mark biodone with splassert(IPL_BIO).

Revision 1.60 / (download) - annotate - [select for diffs], Thu May 16 00:03:05 2002 UTC (22 years, 1 month ago) by art
Branch: MAIN
Changes since 1.59: +5 -1 lines
Diff to previous 1.59 (colored)

sprinkle some splassert(IPL_BIO) in some functions that are commented as "should be called at splbio()"

Revision 1.59 / (download) - annotate - [select for diffs], Sat Apr 27 15:29:30 2002 UTC (22 years, 1 month ago) by art
Branch: MAIN
Changes since 1.58: +3 -1 lines
Diff to previous 1.58 (colored)

Comment biodone as "must be called at splbio".
It calls vwakeup and vwakeup is marked as "must be at splbio".

Revision 1.26.2.7 / (download) - annotate - [select for diffs], Thu Mar 28 11:43:04 2002 UTC (22 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.26.2.6: +2 -2 lines
Diff to previous 1.26.2.6 (colored) to branchpoint 1.26 (colored)

Merge in -current from about a week ago

Revision 1.58 / (download) - annotate - [select for diffs], Thu Mar 14 01:27:06 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored)

First round of __P removal in sys

Revision 1.26.2.6 / (download) - annotate - [select for diffs], Wed Mar 6 02:13:23 2002 UTC (22 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.26.2.5: +48 -32 lines
Diff to previous 1.26.2.5 (colored) to branchpoint 1.26 (colored)

Merge in trunk

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Thu Jan 31 22:55:41 2002 UTC (22 years, 4 months ago) by niklas
Branch: UBC
Changes since 1.54: +2 -8 lines
Diff to previous 1.54 (colored)

Merge in -current, builds on i386, otherwise untested

Revision 1.57 / (download) - annotate - [select for diffs], Wed Jan 30 20:45:35 2002 UTC (22 years, 4 months ago) by nordin
Branch: MAIN
Changes since 1.56: +1 -6 lines
Diff to previous 1.56 (colored)

Move SET/CLR/ISSET macros to param.h. fgsch@ and millert@ ok

Revision 1.56 / (download) - annotate - [select for diffs], Wed Jan 23 00:39:48 2002 UTC (22 years, 4 months ago) by art
Branch: MAIN
Changes since 1.55: +2 -3 lines
Diff to previous 1.55 (colored)

Pool deals fairly well with physical memory shortage, but it doesn't deal
well (not at all) with shortages of the vm_map where the pages are mapped
(usually kmem_map).

Try to deal with it:
 - group all information the backend allocator for a pool in a separate
   struct. The pool will only have a pointer to that struct.
 - change the pool_init API to reflect that.
 - link all pools allocating from the same allocator on a linked list.
 - Since an allocator is responsible to wait for physical memory it will
   only fail (waitok) when it runs out of its backing vm_map, carefully
   drain pools using the same allocator so that va space is freed.
   (see comments in code for caveats and details).
 - change pool_reclaim to return if it actually succeeded to free some
   memory, use that information to make draining easier and more efficient.
 - get rid of PR_URGENT, noone uses it.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Dec 19 08:58:06 2001 UTC (22 years, 5 months ago) by art
Branch: MAIN
Changes since 1.54: +48 -26 lines
Diff to previous 1.54 (colored)

UBC was a disaster. It worked very good when it worked, but on some
machines or some configurations or in some phase of the moon (we actually
don't know when or why) files disappeared. Since we've not been able to
track down the problem in two weeks intense debugging and we need -current
to be stable, back out everything to a state it had before UBC.

We apologise for the inconvenience.

Revision 1.26.2.5 / (download) - annotate - [select for diffs], Wed Dec 5 01:02:39 2001 UTC (22 years, 6 months ago) by niklas
Branch: SMP
Changes since 1.26.2.4: +30 -71 lines
Diff to previous 1.26.2.4 (colored) to branchpoint 1.26 (colored)

Merge in -current

Revision 1.54 / (download) - annotate - [select for diffs], Fri Nov 30 05:45:33 2001 UTC (22 years, 6 months ago) by csapuntz
Branch: MAIN
CVS Tags: UBC_BASE
Branch point for: UBC
Changes since 1.53: +14 -1 lines
Diff to previous 1.53 (colored)

Call buf_cleanout, which handles wakeups

Revision 1.53 / (download) - annotate - [select for diffs], Tue Nov 27 06:21:37 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.52: +1 -18 lines
Diff to previous 1.52 (colored)

kill breada

Revision 1.52 / (download) - annotate - [select for diffs], Tue Nov 27 05:27:11 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.51: +13 -31 lines
Diff to previous 1.51 (colored)

Merge in the unified buffer cache code as found in NetBSD 2001/03/10. The
code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>.

Tested for the past few weeks by many developers, should be in a pretty stable
state, but will require optimizations and additional cleanups.

Revision 1.51 / (download) - annotate - [select for diffs], Thu Nov 15 23:25:37 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.50: +6 -9 lines
Diff to previous 1.50 (colored)

bio_doread doesn't need a cred anymore

Revision 1.50 / (download) - annotate - [select for diffs], Thu Nov 15 23:15:15 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.49: +1 -17 lines
Diff to previous 1.49 (colored)

Remove creds from struct buf, move the creds that nfs need into the nfs node.
While in the area, convert nfs node allocation from malloc to pool and do
some cleanups.
Based on the UBC changes in NetBSD. niklas@ ok.

Revision 1.26.2.4 / (download) - annotate - [select for diffs], Tue Nov 13 23:04:23 2001 UTC (22 years, 7 months ago) by niklas
Branch: SMP
Changes since 1.26.2.3: +10 -2 lines
Diff to previous 1.26.2.3 (colored) to branchpoint 1.26 (colored)

merge in -current

Revision 1.49 / (download) - annotate - [select for diffs], Fri Nov 9 15:32:22 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.48: +9 -1 lines
Diff to previous 1.48 (colored)

Create bufpool - a pool of struct bufs.

Revision 1.48 / (download) - annotate - [select for diffs], Tue Nov 6 19:53:20 2001 UTC (22 years, 7 months ago) by miod
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.
(Look ma, I might have broken the tree)

Revision 1.26.2.3 / (download) - annotate - [select for diffs], Wed Oct 31 03:26:29 2001 UTC (22 years, 7 months ago) by nate
Branch: SMP
Changes since 1.26.2.2: +207 -176 lines
Diff to previous 1.26.2.2 (colored) to branchpoint 1.26 (colored)

Sync the SMP branch to something just after 3.0

Revision 1.47 / (download) - annotate - [select for diffs], Sun Oct 28 19:19:00 2001 UTC (22 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.46: +3 -67 lines
Diff to previous 1.46 (colored)

we try to test things before commit, art

Revision 1.46 / (download) - annotate - [select for diffs], Sun Oct 28 00:42:43 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.45: +68 -4 lines
Diff to previous 1.45 (colored)

Sprinkle some assertions in the buffer code.
Add a new DEBUG function "buf_print" that prints the contents of struct buf.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Oct 11 14:44:10 2001 UTC (22 years, 8 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE, OPENBSD_3_0
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored)

Fix flawed logic when deciding if we should sleep when
we are below the low watermark or if we should try to use up all buffers.

Revision 1.44 / (download) - annotate - [select for diffs], Thu Oct 11 08:07:12 2001 UTC (22 years, 8 months ago) by gluk
Branch: MAIN
Changes since 1.43: +81 -81 lines
Diff to previous 1.43 (colored)

Count pages not buffers. This fixes deadlock condition which mainly
occurs on the fs with large block size. We can have situation where
numcleanbufs < locleanbufs and numdirtybufs < hidirtybufs.  So, buffer
flushing daemon never wakeups and other processes asleep forever waiting
for a clean buffers. We count pages only for the dirty buffers which are
on freelist(BQ_DIRTY).

niklas@ found this.

Rename flasher to cleaner. Suggested by costa@.

Discussed with niklas@, costa@, millert@, art@.
Ok deraadt@.

Revision 1.43 / (download) - annotate - [select for diffs], Thu Sep 20 08:22:26 2001 UTC (22 years, 8 months ago) by gluk
Branch: MAIN
Changes since 1.42: +8 -27 lines
Diff to previous 1.42 (colored)

Get rid of B_VFLUSH. Tested by costa and me.

Revision 1.42 / (download) - annotate - [select for diffs], Wed Sep 19 18:05:27 2001 UTC (22 years, 8 months ago) by art
Branch: MAIN
Changes since 1.41: +5 -23 lines
Diff to previous 1.41 (colored)

No need for this complicated (and bug-prone) method for waking up the flusher.

Revision 1.41 / (download) - annotate - [select for diffs], Mon Sep 17 19:17:30 2001 UTC (22 years, 8 months ago) by gluk
Branch: MAIN
Changes since 1.40: +156 -88 lines
Diff to previous 1.40 (colored)

 The first implementation of the buffer flushing daemon. It solves our
problem when syncer can't do its work because of vnode locks (PR1983).
This also solves our problem where bigger number of buffers results in a
much worse perfomance. In my configuration (i386, 128mb, BUFCACHEPERCENT=35)
this speedup tar -xzf ports.tar.gz in 2-4 times. In configuration with
low number of buffers and softupdates this may slowdown some operations
up to 15%.

 The major difference with current buffer cache is that new implementation
uses separate queues for dirty and clean buffers. I.e. BQ_LRU and BQ_AGE
replaced by BQ_CLEAN and BQ_DIRTY. This simplifies things a lot and
doesn't affect perfomance in a bad manner.

Thanks to art and costa for pointing on errors.

Tested by brad, millert, naddy, art, jj, camield

art, millert ok.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Sep 10 22:05:38 2001 UTC (22 years, 9 months ago) by gluk
Branch: MAIN
Changes since 1.39: +1 -22 lines
Diff to previous 1.39 (colored)

remove useless debug function.

Revision 1.39 / (download) - annotate - [select for diffs], Thu Aug 30 12:38:52 2001 UTC (22 years, 9 months ago) by gluk
Branch: MAIN
Changes since 1.38: +39 -18 lines
Diff to previous 1.38 (colored)

Change getnewbuf interface so that getnewbuf always return
a new buffer and indicate if it sleep while getting that buffer.
This isn't make a much sense, but farther modifications will use it.

Work by art@

Revision 1.26.2.2 / (download) - annotate - [select for diffs], Wed Jul 4 10:48:47 2001 UTC (22 years, 11 months ago) by niklas
Branch: SMP
Changes since 1.26.2.1: +9 -9 lines
Diff to previous 1.26.2.1 (colored) to branchpoint 1.26 (colored)

Merge in -current from two days ago in the SMP branch.
As usual with merges, they do not indicate progress, so do not hold
your breath for working SMP, and do not mail me and ask about the
state of it.  It has not changed.  There is work ongoing, but very, very
slowly.  The commit is done in parts as to not lock up the tree in too
big chunks at a time.

Revision 1.26.2.1 / (download) - annotate - [select for diffs], Mon May 14 22:32:45 2001 UTC (23 years, 1 month ago) by niklas
Branch: SMP
Changes since 1.26: +200 -56 lines
Diff to previous 1.26 (colored)

merge in approximately 2.9 into SMP branch

Revision 1.38 / (download) - annotate - [select for diffs], Sat May 5 20:57:01 2001 UTC (23 years, 1 month ago) by art
Branch: MAIN
Changes since 1.37: +9 -9 lines
Diff to previous 1.37 (colored)

Get rid of CLSIZE and all related stuff.
CLSIZE -> 1
CLBYTES -> PAGE_SIZE
OLOFSET -> PAGE_MASK
etc.
At the same time some archs needed some cleaning in vmparam.h so that
goes in at the same time.

Revision 1.37 / (download) - annotate - [select for diffs], Fri Apr 6 19:10:49 2001 UTC (23 years, 2 months ago) by gluk
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE, OPENBSD_2_9
Changes since 1.36: +7 -2 lines
Diff to previous 1.36 (colored)

Avoid a livelock problem where the buffer cache code would be
recycling B_AGE buffers with dependencies.

>From NetBSD.  costa@ ok.

Revision 1.36 / (download) - annotate - [select for diffs], Fri Mar 30 10:30:26 2001 UTC (23 years, 2 months ago) by art
Branch: MAIN
Changes since 1.35: +25 -11 lines
Diff to previous 1.35 (colored)


Avoid a 'thundering herd' problem when many processes wait for free buffers.
Just wakeup one process (there is a possible bug here that will be fixed
in the next round of cleanup).

Some misc cleanup, especially in the comments.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Mar 14 14:41:04 2001 UTC (23 years, 3 months ago) by art
Branch: MAIN
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (colored)

Slight cleanup.

Revision 1.34 / (download) - annotate - [select for diffs], Tue Mar 13 16:47:50 2001 UTC (23 years, 3 months ago) by gluk
Branch: MAIN
Changes since 1.33: +121 -23 lines
Diff to previous 1.33 (colored)

Reserve some buffers for syncer daemon. This prevent deadlock in getblk
and getnewbuf. One process can sleep at "getnewbuf" waiting for a free
buffer and it may held buffer 'A' busy. Other processes can return buffers
on free lists, but they sleep on "getblk" waiting for buffer 'A'.

art@ ok.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Mar 9 17:08:43 2001 UTC (23 years, 3 months ago) by art
Branch: MAIN
Changes since 1.32: +9 -9 lines
Diff to previous 1.32 (colored)

Remove random trailing whitespace.
From gluk.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Feb 27 09:13:51 2001 UTC (23 years, 3 months ago) by csapuntz
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)



art@ found a race in getnewbuf. bawrite can block so we need to restart
the whole buffer allocation process

Revision 1.31 / (download) - annotate - [select for diffs], Sat Feb 24 19:07:08 2001 UTC (23 years, 3 months ago) by csapuntz
Branch: MAIN
Changes since 1.30: +10 -8 lines
Diff to previous 1.30 (colored)



Cleanup of vnode interface continues. Get rid of VHOLD/HOLDRELE.
Change VM/UVM to use buf_replacevnode to change the vnode associated
with a buffer.

Addition v_bioflag for flags written in interrupt handlers
(and read at splbio, though not strictly necessary)

Add vwaitforio and use it instead of a while loop of v_numoutput.

Fix race conditions when manipulation vnode free list

Revision 1.30 / (download) - annotate - [select for diffs], Fri Feb 23 14:52:50 2001 UTC (23 years, 3 months ago) by csapuntz
Branch: MAIN
Changes since 1.29: +38 -12 lines
Diff to previous 1.29 (colored)



Change the B_DELWRI flag using buf_dirty and buf_undirty instead of
manually twiddling it. This allows the buffer cache to more easily
keep track of dirty buffers and decide when it is appropriate to speed
up the syncer.

Insipired by FreeBSD.
Look over by art@

Revision 1.29 / (download) - annotate - [select for diffs], Wed Feb 21 23:24:30 2001 UTC (23 years, 3 months ago) by csapuntz
Branch: MAIN
Changes since 1.28: +8 -8 lines
Diff to previous 1.28 (colored)



Latest soft updates from FreeBSD/Kirk McKusick

Snapshot-related code has been commented out.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Feb 13 19:51:49 2001 UTC (23 years, 4 months ago) by art
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

Use MIN, not min when counting the pages we steal.
min is a function taking u_int arguments and we are counting signed longs
here.

Revision 1.27 / (download) - annotate - [select for diffs], Fri Jun 23 02:14:38 2000 UTC (23 years, 11 months ago) by mickey
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE, OPENBSD_2_8
Changes since 1.26: +1 -2 lines
Diff to previous 1.26 (colored)

remove obsolete vtrace guts; art@

Revision 1.26 / (download) - annotate - [select for diffs], Sun Dec 5 08:09:01 1999 UTC (24 years, 6 months ago) by art
Branch: MAIN
CVS Tags: kame_19991208, SMP_BASE, OPENBSD_2_7_BASE, OPENBSD_2_7
Branch point for: SMP
Changes since 1.25: +22 -1 lines
Diff to previous 1.25 (colored)

Collect statistics on sync and async writes.
From NetBSD.

Revision 1.25 / (download) - annotate - [select for diffs], Thu Dec 2 20:55:47 1999 UTC (24 years, 6 months ago) by art
Branch: MAIN
Changes since 1.24: +8 -6 lines
Diff to previous 1.24 (colored)

Indentation to make the code more readable.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Sep 10 22:14:39 1999 UTC (24 years, 9 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_2_6_BASE, OPENBSD_2_6
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

use clrnd(round_page(size)) instead of roundup(size, CLBYTES).
They do the same thing, but the former is noticeably faster on sparc

Revision 1.23 / (download) - annotate - [select for diffs], Thu Jul 15 14:07:41 1999 UTC (24 years, 11 months ago) by art
Branch: MAIN
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored)

vm_offset_t -> {v,p}addr_t ; vm_size_t -> {v,p}size_t

Revision 1.22 / (download) - annotate - [select for diffs], Wed Apr 28 09:28:15 1999 UTC (25 years, 1 month ago) by art
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

zap the newhashinit hack.
Add an extra flag to hashinit telling if it should wait in malloc.
update all calls to hashinit.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Nov 29 01:46:58 1998 UTC (25 years, 6 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_2_5_BASE, OPENBSD_2_5
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)

indent

Revision 1.20 / (download) - annotate - [select for diffs], Sat Jan 10 23:44:28 1998 UTC (26 years, 5 months ago) by csapuntz
Branch: MAIN
CVS Tags: OPENBSD_2_4_BASE, OPENBSD_2_4, OPENBSD_2_3_BASE, OPENBSD_2_3
Changes since 1.19: +8 -9 lines
Diff to previous 1.19 (colored)

A couple more splbio()s in vfs_bio plus moving around a couple functions.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Nov 7 23:01:36 1997 UTC (26 years, 7 months ago) by csapuntz
Branch: MAIN
Changes since 1.18: +5 -7 lines
Diff to previous 1.18 (colored)

Fixed hang on shutdown
Disabled vop_nolock for now. Filesystems still need to be cleaned up.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Nov 6 05:58:25 1997 UTC (26 years, 7 months ago) by csapuntz
Branch: MAIN
Changes since 1.17: +77 -217 lines
Diff to previous 1.17 (colored)

Updates for VFS Lite 2 + soft update.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Oct 6 20:20:07 1997 UTC (26 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_2_BASE, OPENBSD_2_2
Changes since 1.16: +216 -76 lines
Diff to previous 1.16 (colored)

back out vfs lite2 till after 2.2

Revision 1.16 / (download) - annotate - [select for diffs], Mon Oct 6 15:12:35 1997 UTC (26 years, 8 months ago) by csapuntz
Branch: MAIN
Changes since 1.15: +77 -217 lines
Diff to previous 1.15 (colored)

VFS Lite2 Changes

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jun 14 06:10:36 1997 UTC (27 years ago) by tholo
Branch: MAIN
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored)

Don't look beyond the end of bdevsw[], from NetBSD PR 3748 by Michael L Hitch

Revision 1.14 / (download) - annotate - [select for diffs], Mon Apr 14 04:23:23 1997 UTC (27 years, 2 months ago) by tholo
Branch: MAIN
CVS Tags: OPENBSD_2_1_BASE, OPENBSD_2_1
Changes since 1.13: +34 -2 lines
Diff to previous 1.13 (colored)

Minor performance enhancements from NetBSD

Revision 1.13 / (download) - annotate - [select for diffs], Sun Jan 5 11:09:01 1997 UTC (27 years, 5 months ago) by niklas
Branch: MAIN
Changes since 1.12: +1 -4 lines
Diff to previous 1.12 (colored)

Remove lots of timer_state structs as they just ate memory and only a few was
ever used.  Now a single state is kept for net, tty and disk events resp.
Also, call the randomness from disk_unbusy instead of biodone, as biodone
gets a lot of virtual events (from virtual filesystems etc), and as a bonus:
feed xfer time and size into the entropy pool too.

Revision 1.12 / (download) - annotate - [select for diffs], Sat Oct 19 13:26:02 1996 UTC (27 years, 7 months ago) by mickey
Branch: MAIN
Changes since 1.11: +2 -8 lines
Diff to previous 1.11 (colored)

random device is permanent now.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Aug 29 07:46:37 1996 UTC (27 years, 9 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored)

rnd -> random

Revision 1.10 / (download) - annotate - [select for diffs], Sun Jul 21 08:05:34 1996 UTC (27 years, 10 months ago) by tholo
Branch: MAIN
Changes since 1.9: +9 -3 lines
Diff to previous 1.9 (colored)

Ensure we never use more than one callout table slot

Revision 1.9 / (download) - annotate - [select for diffs], Tue Jul 2 06:52:01 1996 UTC (27 years, 11 months ago) by niklas
Branch: MAIN
Changes since 1.8: +1 -3 lines
Diff to previous 1.8 (colored)

-Wall & -Wstrict-prototype fixes

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jun 26 19:44:59 1996 UTC (27 years, 11 months ago) by tholo
Branch: MAIN
Changes since 1.7: +1 -22 lines
Diff to previous 1.7 (colored)

When a dirty buffer is written to, don't move it to the tail of the
dirty list.  Doing that can, for a block that is written to with a
period of less than 30 seconds, cause the block to never be flushed
to disk.  Idea from Jeffrey Mogul's paper covering the same basic
changes.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Jun 14 06:36:24 1996 UTC (28 years ago) by deraadt
Branch: MAIN
Changes since 1.6: +8 -4 lines
Diff to previous 1.6 (colored)

from pk; protect some more stuff with splbio

Revision 1.6 / (download) - annotate - [select for diffs], Tue Jun 11 03:25:13 1996 UTC (28 years ago) by tholo
Branch: MAIN
Changes since 1.5: +180 -1 lines
Diff to previous 1.5 (colored)

Kernel-implementation of update(8) my me

Revision 1.5 / (download) - annotate - [select for diffs], Thu May 2 13:12:29 1996 UTC (28 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.4: +4 -3 lines
Diff to previous 1.4 (colored)

sync syscalls, no sys/cpu.h

Revision 1.4 / (download) - annotate - [select for diffs], Fri Apr 19 16:09:09 1996 UTC (28 years, 1 month ago) by niklas
Branch: MAIN
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored)

NetBSD 960317 merge

Revision 1.3 / (download) - annotate - [select for diffs], Fri Mar 29 12:05:51 1996 UTC (28 years, 2 months ago) by mickey
Branch: MAIN
Changes since 1.2: +9 -0 lines
Diff to previous 1.2 (colored)

Initial commit of random source driver.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Feb 29 13:38:55 1996 UTC (28 years, 3 months ago) by niklas
Branch: MAIN
Changes since 1.1: +17 -6 lines
Diff to previous 1.1 (colored)

From NetBSD: Merge with NetBSD 960217

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:52:47 1995 UTC (28 years, 8 months ago) by deraadt
CVS Tags: netbsd_1_1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:52:47 1995 UTC (28 years, 8 months ago) by deraadt
Branch: MAIN

Initial revision

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