| 782105f7 | 21-Sep-2022 |
Colin Percival <cperciva@FreeBSD.org> |
vtblk: Use busdma
We assume that bus addresses from busdma are the same thing as "physical" addresses in the Virtio specification; this seems to be true for the platforms on which Virtio is currentl
vtblk: Use busdma
We assume that bus addresses from busdma are the same thing as "physical" addresses in the Virtio specification; this seems to be true for the platforms on which Virtio is currently supported.
For block devices which are limited to a single data segment per I/O, we request PAGE_SIZE alignment from busdma; this is necessary in order to support unaligned I/Os from userland, which may cross a boundary between two non-physically-contiguous pages. On devices which support more data segments per I/O, we retain the existing behaviour of limiting I/Os to (max data segs - 1) * PAGE_SIZE.
Reviewed by: bryanv Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D36667
show more ...
|
| 3a8aff9d | 19-Sep-2022 |
Colin Percival <cperciva@FreeBSD.org> |
vtblk: Include pointer to softc in request
No functional change intended.
Reviewed by: bryanv, imp Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/
vtblk: Include pointer to softc in request
No functional change intended.
Reviewed by: bryanv, imp Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D36666
show more ...
|
| cc25cfc9 | 18-Sep-2022 |
Colin Percival <cperciva@FreeBSD.org> |
vtblk: Requeue inside vtblk_request_execute
Most virtio_blk requests are launched from vtblk_startio; prior to this commit, if vtblk_request_execute failed (e.g. due to a lack of space on the virtio
vtblk: Requeue inside vtblk_request_execute
Most virtio_blk requests are launched from vtblk_startio; prior to this commit, if vtblk_request_execute failed (e.g. due to a lack of space on the virtio queue) vtblk_startio would requeue the request to be reattempted later.
Add a flag "vbr_requeue_on_error" to requests and perform the requeuing from inside vtblk_request_execute instead.
No functional change intended.
Reviewed by: bryanv, imp Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D36665
show more ...
|