History log of /freebsd/sys/kern/subr_disk.c (Results 101 – 125 of 195)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 3febdd8f 12-Sep-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Use a different tactic when creating the devsw so that disk_create()
doesn't need to malloc.


# 85a219d2 09-Sep-1999 Julian Elischer <julian@FreeBSD.org>

Changes to centralise the default blocksize behaviour.
More likely to follow.

Submitted by: phk@freebsd.org


# 8684f73a 01-Sep-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Improve the micro "disk" layer after gaining more experience with it.


# da9e4f55 29-Aug-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Add micro "disk" layer which should enable us to pull all the slice/label
stuff out of the device drivers.


Revision tags: release/7.2.0_cvs, release/7.2.0
# 1829d5da 12-Mar-2009 Warner Losh <imp@FreeBSD.org>

Update the projects tree to a newer FreeBSD current.


# d4619572 13-Feb-2009 Luigi Rizzo <luigi@FreeBSD.org>

Clarify and reimplement the bioq API so that bioq_disksort() has
the correct behaviour (sorting by distance from the current head position
in the scan direction) and bioq_insert_head() and bioq_inser

Clarify and reimplement the bioq API so that bioq_disksort() has
the correct behaviour (sorting by distance from the current head position
in the scan direction) and bioq_insert_head() and bioq_insert_tail()
have a well defined (and useful) behaviour, especially when intermixed
with calls to bioq_disksort().

In particular:
- fix a bug in the existing bioq_disksort() that did not use the
current head position correctly;
- redefine semantics of bioq_insert_head() and bioq_insert_tail().
bioq_insert_tail() can now be used as a barrier
between previous and subsequent calls to bioq_disksort().

The code is heavily documented in the source code so please refer
to that for the details.

Much of this code comes from Fabio Checconi. Also thanks to Kirk
for feedback on the (re)definition of bioq_insert_tail().

NOTE: in the current tree there is only a handful of files which
intermix calls to bioq_disksort() with bioq_insert_head() and
bioq_insert_tail(). The ordering of the queue in these situation
was not specified (nor easy to figure out) before, so I doubt any
of that code could be affected by the specification of the API.

Also note that the current implementation is significantly simpler
than the previous one (also used in ata_sort_queue()).
It would be useful to reimplement ata_sort_queue() using
the same code used in bioq_disksort().

MFC after: 1 week

show more ...


# 13b4c4c3 03-Feb-2009 Warner Losh <imp@FreeBSD.org>

Make bioq_disksort have a ANSI-C definition rather than a K&R definition.


Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0
# c3618c65 31-Oct-2006 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Add a new I/O request - BIO_FLUSH, which basically tells providers below to
flush their caches. For now will mostly be used by disks to flush their
write cache.

Sponsored by: home.pl


# 56e26c3e 29-May-2006 Xin LI <delphij@FreeBSD.org>

Unexpand TAILQ_FIRST(foo) == NULL to TAILQ_EMPTY(foo).


Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0
# bc03ea7f 14-Jan-2006 Robert Watson <rwatson@FreeBSD.org>

When calling bioq_first() to see if a queue is empty in bioq_disksort(),
don't save the return value as we won't use it.

Noticed by: Coverity Prevent analysis tool
MFC after: 3 days


Revision tags: release/6.0.0_cvs, release/6.0.0
# bdcd9f26 16-Jun-2005 Jeff Roberson <jeff@FreeBSD.org>

- Fix insertions of bios which represent data earlier than anything else
in the queue. The insertion sort assumed this had already been taken
care of.

Spotted by: Antoine Brodin
Approved by:

- Fix insertions of bios which represent data earlier than anything else
in the queue. The insertion sort assumed this had already been taken
care of.

Spotted by: Antoine Brodin
Approved by: re (scottl)

show more ...


# f19f6869 13-Jun-2005 Jeff Roberson <jeff@FreeBSD.org>

- Dramatically simplify bioqdisksort(). We no longer do ordered bios so
most of the code to deal with them has been dead for sometime. Simplify
the code by doing an insert sort hinted by the

- Dramatically simplify bioqdisksort(). We no longer do ordered bios so
most of the code to deal with them has been dead for sometime. Simplify
the code by doing an insert sort hinted by the current head position.

Met with apathy by: arch@

show more ...


Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0
# 9454b2d8 07-Jan-2005 Warner Losh <imp@FreeBSD.org>

/* -> /*- for copyright notices, minor format tweaks as necessary


# bf484316 13-Dec-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Add bioq_insert_head() function.

OK'd by: phk


Revision tags: release/5.3.0_cvs, release/5.3.0
# d298f919 19-Aug-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Add bioq_takefirst().

If the bioq is empty, NULL is returned. Otherwise the front element
is removed and returned.

This can simplify locking in many drivers from:

lock()
bp = bioq_first(bq);
i

Add bioq_takefirst().

If the bioq is empty, NULL is returned. Otherwise the front element
is removed and returned.

This can simplify locking in many drivers from:

lock()
bp = bioq_first(bq);
if (bp == NULL) {
unlock()
return
}
bioq_remove(bp, bq)
unlock
to:
lock()
bp = bioq_takefirst(bq);
unlock()
if (bp == NULL)
return;

show more ...


Revision tags: release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0
# 1ad9172f 18-Oct-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Report bio_pblkbo instead of bio_blkno.


# 4cb4df48 18-Oct-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Make bioq_disksort() sort on the bio_offset field instead of bio_pblkno.


# b8404473 14-Oct-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Made use of 'error' argument, which was unused (by mistake) before.

Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>


# 677b542e 11-Jun-2003 David E. O'Brien <obrien@FreeBSD.org>

Use __FBSDID().


Revision tags: release/5.1.0_cvs, release/5.1.0
# a3007012 16-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Don't include <sys/disklabel.h>


# b0fc6220 03-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Remove BIO_SETATTR from non-GEOM part of kernel as well.


Revision tags: release/4.8.0_cvs, release/4.8.0
# 81750927 01-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

#include <geom/geom_disk.h>


# af6ca7f4 01-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Introduce bioq_flush() function.


# d2a0822e 30-Mar-2003 Poul-Henning Kamp <phk@FreeBSD.org>

retire the "busy" field in bioqueues, it's served it's purpose.


# d086f85a 30-Mar-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Preparation commit before I start on the bioqueue lockdown:

Collect all the bits of bioqueue handing in subr_disk.c, vfs_bio.c is big
enough as it is and disksort already lives in subr_disk.c.


12345678