History log of /openbsd/sys/sys/buf.h (Results 1 – 25 of 114)
Revision Date Author Comments
# 81fb472f 03-Feb-2024 beck <beck@openbsd.org>

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@


# 1be3740e 01-Sep-2022 jsg <jsg@openbsd.org>

remove unused prototypes from buf.h

bufcache_getanycleanbuf() removed in vfs_bio.c 1.181
buf_acquire_unmapped() removed in vfs_biomem.c 1.22
buf_print() removed in vfs_bio.c 1.47
cluster_write() rem

remove unused prototypes from buf.h

bufcache_getanycleanbuf() removed in vfs_bio.c 1.181
buf_acquire_unmapped() removed in vfs_biomem.c 1.22
buf_print() removed in vfs_bio.c 1.47
cluster_write() removed along with vfs_cluster.c in 2016

show more ...


# cdcc14ba 29-Nov-2019 beck <beck@openbsd.org>

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

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@

show more ...


# ac15d0f2 28-Nov-2019 beck <beck@openbsd.org>

back out the buffer cache uvm_obj change for now.

the bread_cluster code has confused even me and mark,
we need to handle the buffer slice and dice case better
for bread_cluster.


# ff9f3f5a 28-Nov-2019 beck <beck@openbsd.org>

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%.
ok kettenis@


# 570df5c4 19-Jul-2019 cheloha <cheloha@openbsd.org>

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


# 4da96d70 04-Mar-2019 dhill <dhill@openbsd.org>

Make sure we clear all valid bytes in clrbuf.

ok deraadt@


# 643e3253 13-Aug-2018 visa <visa@openbsd.org>

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.
T

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@

show more ...


# 760844ce 16-Apr-2017 beck <beck@openbsd.org>

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@


# b986024f 28-Feb-2017 natano <natano@openbsd.org>

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


# efa62500 16-Sep-2016 dlg <dlg@openbsd.org>

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.


# 2e90784b 23-May-2016 natano <natano@openbsd.org>

VOP_REALLOCBLKS() and related code is unused since the removal of
cluster_write().
ok beck zhuk


# dd0d3ced 10-Mar-2016 dlg <dlg@openbsd.org>

beck@ forgot to commit this with sys/kern/vfs_bio.c r1.100.

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


# db84d879 06-Dec-2015 guenther <guenther@openbsd.org>

Only declare buf_daemon() once


# b78384fc 28-Nov-2015 beck <beck@openbsd.org>

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


# 1d9ad96e 19-Jul-2015 beck <beck@openbsd.org>

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. Fl

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@

show more ...


# de5ab7f7 06-Jul-2015 dlg <dlg@openbsd.org>

disksort is dead, and now so is any code that relied on its compat
in bufqs.

it's only taken us 6 years.

ok millert@ krw@


# 79acc2d2 09-Jan-2015 tedu <tedu@openbsd.org>

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


# e205ae13 17-Nov-2014 tedu <tedu@openbsd.org>

rearrange fields for better packing. reduces size to 256 on amd64.
ok deraadt


# 4b77bcb6 31-Aug-2014 tedu <tedu@openbsd.org>

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.

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

show more ...


# f3826b4f 10-Apr-2014 tedu <tedu@openbsd.org>

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 deraa

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

show more ...


# 84142c07 21-Nov-2013 dlg <dlg@openbsd.org>

remove #define b_errcnt b_resid. nothing uses it, and nothing should.


# 27f37992 21-Nov-2013 dlg <dlg@openbsd.org>

remove the #define b_cylinder b_resid from bufs. i hated the
overloading of that thing.

the only hardware that seems to care about cylinders in our tree
are floppy drives, and the drivers for those

remove the #define b_cylinder b_resid from bufs. i hated the
overloading of that thing.

the only hardware that seems to care about cylinders in our tree
are floppy drives, and the drivers for those calculate their own
cylinders from logical block addresses and ignore whatever the rest
of the kernel thought b_cylinders should be.

most of this diff is moving the floppy drivers to using b_resid as
a resid and using that as part of the calculation for real cylinder
values.

the rest of the diff is getting rid of the useless assignments to
b_cylinder that dont get used by anything (now that disksort is
gone).

ok miod@

show more ...


# 19a2caae 20-Nov-2013 dlg <dlg@openbsd.org>

now that all the direct users of disksort have been removed, we can now
safely remove disksort.

most hardware and pretty much all of the kernel has moved to logical
block addressing when dealing wit

now that all the direct users of disksort have been removed, we can now
safely remove disksort.

most hardware and pretty much all of the kernel has moved to logical
block addressing when dealing with disks, so the assumptions disksort
was built against arent useful these days. it also has bad edge cases
with lots of sequential writes being able to starve other io requests
in the system. these issues have been addressed by becks nscan
implementation, which disksort was previously deprecated in favour
of.

this removes the guts of disksort and the bufq wrapper around it.

ok miod@

show more ...


# 939f0ffd 06-Nov-2013 dlg <dlg@openbsd.org>

remove some abuse of bufqs where they were overloaded to store workq_tasks
for completing swap io against files. this in turn bloated struct buf.

this moves from using workq_tasks to the task api, b

remove some abuse of bufqs where they were overloaded to store workq_tasks
for completing swap io against files. this in turn bloated struct buf.

this moves from using workq_tasks to the task api, but stores the task
handler in vndbuf which is allocated specially for every io in this path
anyway.

ok kettenis@ beck@

show more ...


12345