Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/bufq_priocscan.c
RevisionDateAuthorComments
 1.21  04-May-2017  kamil Use consistently "bufq_private(bufq)" instead of "bufq->bq_private"

No functional change.
 1.20  16-Nov-2016  pgoyette branches: 1.20.6;
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.19  16-Nov-2016  pgoyette Modularize the various bufq strategies
 1.18  28-Jan-2014  martin branches: 1.18.6; 1.18.10;
Mark a diagnostic only variable
 1.17  17-Feb-2012  yamt branches: 1.17.2; 1.17.4;
BUFQ_PRIOCSCAN:

- to reduce cpu consumption for a long queue, maintain the sorted lists of
buffers with rbtree instead of TAILQ. i vaguely remember that the problem
pointed out by someone on a public mailing list while ago. sorry, i can't
remember who and where.

- add some #ifdef'ed out experimental code.

- bump kernel version for struct buf change.
 1.16  07-Nov-2011  hannken branches: 1.16.4;
Move an assertion to the right place.

Ok: YAMAMOTO Takashi <yamt@netbsd.org>

Fixes PR #45578 (kernel crash with BUFQ_PRIOCSCAN)
 1.15  02-Nov-2011  yamt branches: 1.15.2;
- don't forget to decrement burst count after reset
- signed -> unsigned where appropriate
- comments
 1.14  19-Jan-2009  yamt malloc -> kmem_alloc
 1.13  16-Jan-2009  yamt replace clearly broken bufq_priocscan_cancel with
something which might work. (hi reinoud)
 1.12  03-May-2008  yamt branches: 1.12.8;
add a comment.
 1.11  30-Apr-2008  reinoud 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.10  22-Feb-2007  thorpej branches: 1.10.38; 1.10.40; 1.10.42;
TRUE -> true, FALSE -> false
 1.9  21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.8  22-May-2006  yamt branches: 1.8.12;
use consistent order of function specifiers and type specifiers.
(int inline -> inline int)
 1.7  24-Dec-2005  perry branches: 1.7.4; 1.7.6; 1.7.8; 1.7.12; 1.7.14;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.6  11-Dec-2005  christos merge ktrace-lwp.
 1.5  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.4  03-Mar-2005  yamt branches: 1.4.4;
bufq_priocscan_get: don't update state in the case of !remove. fix BUFQ_PEEK.
 1.3  25-Nov-2004  yamt branches: 1.3.4; 1.3.6;
lookup bufq using link_set rather than a switch statement.
 1.2  28-Oct-2004  yamt move buffer queue related stuffs from buf.h to their own header, bufq.h.
 1.1  14-Oct-2004  yamt branches: 1.1.2;
move i/o schedulers to their own files.
namely, from kern/subr_disk.c to kern/bufq_{fcfs,disksort,readprio,priocscan}.c.
 1.1.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.2.4  29-Nov-2004  skrll Sync with HEAD.
 1.1.2.3  02-Nov-2004  skrll Sync with HEAD.
 1.1.2.2  19-Oct-2004  skrll Sync with HEAD
 1.1.2.1  14-Oct-2004  skrll file bufq_priocscan.c was added on branch ktrace-lwp on 2004-10-19 15:58:02 +0000
 1.3.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.4.1  29-Apr-2005  kent sync with -current
 1.4.4.2  26-Feb-2007  yamt sync with head.
 1.4.4.1  21-Jun-2006  yamt sync with head.
 1.7.14.1  19-Jun-2006  chap Sync with head.
 1.7.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.7.8.1  24-May-2006  yamt sync with head.
 1.7.6.1  01-Jun-2006  kardel Sync with head.
 1.7.4.1  09-Sep-2006  rpaulo sync with head
 1.8.12.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.10.42.2  04-May-2009  yamt sync with head.
 1.10.42.1  16-May-2008  yamt sync with head.
 1.10.40.1  18-May-2008  yamt sync with head.
 1.10.38.2  17-Jan-2009  mjf Sync with HEAD.
 1.10.38.1  02-Jun-2008  mjf Sync with HEAD.
 1.12.8.2  03-Mar-2009  skrll Sync with HEAD.
 1.12.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.15.2.3  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.15.2.2  17-Apr-2012  yamt sync with head
 1.15.2.1  10-Nov-2011  yamt sync with head
 1.16.4.1  18-Feb-2012  mrg merge to -current.
 1.17.4.1  18-May-2014  rmind sync with head
 1.17.2.2  03-Dec-2017  jdolecek update from HEAD
 1.17.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.10.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.18.6.2  28-Aug-2017  skrll Sync with HEAD
 1.18.6.1  05-Dec-2016  skrll Sync with HEAD
 1.20.6.1  11-May-2017  pgoyette Sync with HEAD

RSS XML Feed