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