Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/subr_bufq.c
RevisionDateAuthorComments
 1.27  17-Feb-2019  bad rename module_name to strategy_module_name to avoid fatal shadowing of
module_name() when compiled with older external gcc. NFC
 1.26  23-Jan-2018  pgoyette branches: 1.26.4;
Fix a comment. NFC
 1.25  18-Nov-2016  pgoyette By popular request, don't bother initializing a static pointer to NULL.
 1.24  17-Nov-2016  pgoyette Use compile-time initialization for the list head, and make sure that
the sysctllog is also initialized before being used.
 1.23  16-Nov-2016  pgoyette Define a new module class for the bufq_strategy modules. These need to
be loaded and intialized before autoconfigure runs, since some devices
(like disks and floppy drives) want to call bufq_alloc().
 1.22  16-Nov-2016  pgoyette Modularize the various bufq strategies
 1.21  25-Feb-2014  pooka branches: 1.21.6; 1.21.10;
Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
 1.20  17-Sep-2009  pooka branches: 1.20.12; 1.20.22; 1.20.26;
Provide unwind log for bufq sysctls, since (theoretically) bufq might
not be initialized during kernel bootstrap and therefore "permanent"
nodes can be created only with an unwind log.
 1.19  16-Sep-2009  pooka Replace a large number of link set based sysctl node creations with
calls from subsystem constructors. Benefits both future kernel
modules and rump.

no change to sysctl nodes on i386/MONOLITHIC & build tested i386/ALL
 1.18  19-Jan-2009  yamt malloc -> kmem_alloc
 1.17  15-Jan-2009  yamt bufq_cancel: KNF.
 1.16  13-Jan-2009  yamt g/c BUFQ_FOO() macros and use bufq_foo() directly.
 1.15  30-Apr-2008  reinoud branches: 1.15.8;
Add a BUFQ_CANCEL() next to BUFQ_PUT() and BUFQ_GET().

BUFQ_CANCEL(queue, element) removes the specified element previously queued
on the queue. It returns NULL if it was not found on the queue and the
element if it was successfully removed.

Run trough tech-kern and changed name from BUFQ_REVOKE() by suggestion of
Jason Thorpe.
 1.14  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.13  29-Jul-2007  ad branches: 1.13.26; 1.13.28; 1.13.30; 1.13.32;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.12  26-Dec-2005  yamt branches: 1.12.18; 1.12.32; 1.12.42;
- add ioctls to set/get disk bufq strategy.
- implement them for some drivers.
 1.11  26-Dec-2005  yamt bufq_alloc: return correct errors rather than 0.
 1.10  11-Dec-2005  christos merge ktrace-lwp.
 1.9  17-Oct-2005  yamt branches: 1.9.6;
bufq_alloc: fix BUFQ_STRAT_ANY. pointed by Juan RP.
 1.8  17-Oct-2005  yamt sysctl_kern_bufq_strategies:
- handle too small buffer.
- handle the case that no bufq is configured.
 1.7  16-Oct-2005  yamt sysctl_kern_bufq_strategies:
- don't assign size_t value to error number.
- remove an unnecessary assignment.
 1.6  16-Oct-2005  yamt sysctl_kern_bufq_strategies: skip a dummy strategy correctly.
 1.5  16-Oct-2005  yamt add some bufq helper functions.
#if 0'ed out as there is no user currently.
 1.4  16-Oct-2005  yamt whitespace.
 1.3  16-Oct-2005  yamt fix rcsid.
 1.2  15-Oct-2005  xtraeme Add a sysctl function that will print all buffer queue strategies
built in the kernel:

$ sysctl kern.bufq.strategies
kern.bufq.strategies = disksort fcfs priocscan readprio
$
 1.1  15-Oct-2005  yamt - change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)
 1.9.6.2  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.6.1  17-Oct-2005  skrll file subr_bufq.c was added on branch ktrace-lwp on 2005-11-10 14:09:45 +0000
 1.12.42.1  15-Aug-2007  skrll Sync with HEAD.
 1.12.32.2  19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.12.32.1  13-May-2007  ad - Pass the error number and residual count to biodone(), and let it handle
setting error indicators. Prepare to eliminate B_ERROR.
- Add a flag argument to brelse() to be set into the buf's flags, instead
of doing it directly. Typically used to set B_INVAL.
- Add a "struct cpu_info *" argument to kthread_create(), to be used to
create bound threads. Change "bool mpsafe" to "int flags".
- Allow exit of LWPs in the IDL state when (l != curlwp).
- More locking fixes & conversion to the new API.
 1.12.18.3  03-Sep-2007  yamt sync with head.
 1.12.18.2  21-Jun-2006  yamt sync with head.
 1.12.18.1  26-Dec-2005  yamt file subr_bufq.c was added on branch yamt-lazymbuf on 2006-06-21 15:09:38 +0000
 1.13.32.2  29-Jul-2007  ad It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.13.32.1  29-Jul-2007  ad file subr_bufq.c was added on branch matt-mips64 on 2007-07-29 12:15:46 +0000
 1.13.30.3  11-Mar-2010  yamt sync with head
 1.13.30.2  04-May-2009  yamt sync with head.
 1.13.30.1  16-May-2008  yamt sync with head.
 1.13.28.1  18-May-2008  yamt sync with head.
 1.13.26.2  17-Jan-2009  mjf Sync with HEAD.
 1.13.26.1  02-Jun-2008  mjf Sync with HEAD.
 1.15.8.2  03-Mar-2009  skrll Sync with HEAD.
 1.15.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.20.26.1  18-May-2014  rmind sync with head
 1.20.22.2  03-Dec-2017  jdolecek update from HEAD
 1.20.22.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.12.1  22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.21.10.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.21.6.1  05-Dec-2016  skrll Sync with HEAD
 1.26.4.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed