[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 5f8172: ide/atapi: make PIO read requests asy
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 5f8172: ide/atapi: make PIO read requests async |
Date: |
Wed, 18 Nov 2015 05:00:07 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 5f81724d80a1492c73d329242663962139db739b
https://github.com/qemu/qemu/commit/5f81724d80a1492c73d329242663962139db739b
Author: Peter Lieven <address@hidden>
Date: 2015-11-17 (Tue, 17 Nov 2015)
Changed paths:
M hw/ide/atapi.c
Log Message:
-----------
ide/atapi: make PIO read requests async
PIO read requests on the ATAPI interface used to be sync blk requests.
This has two significant drawbacks. First the main loop hangs util an
I/O request is completed and secondly if the I/O request does not
complete (e.g. due to an unresponsive storage) Qemu hangs completely.
Note: Due to possible race conditions requests during an ongoing
elementary transfer are still sync.
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
Commit: ca78ecfa72f311cd647b12a41d93e1ce54f18e66
https://github.com/qemu/qemu/commit/ca78ecfa72f311cd647b12a41d93e1ce54f18e66
Author: Peter Lieven <address@hidden>
Date: 2015-11-17 (Tue, 17 Nov 2015)
Changed paths:
M block/block-backend.c
M include/sysemu/block-backend.h
Log Message:
-----------
block: add blk_abort_aio_request
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
Commit: 1d8c11d631545ee43aff16b0763aff7181b61f20
https://github.com/qemu/qemu/commit/1d8c11d631545ee43aff16b0763aff7181b61f20
Author: Peter Lieven <address@hidden>
Date: 2015-11-17 (Tue, 17 Nov 2015)
Changed paths:
M hw/ide/core.c
M hw/ide/internal.h
Log Message:
-----------
ide: add support for IDEBufferedRequest
this patch adds a new aio readv compatible function which copies
all data through a bounce buffer. These buffered requests can be
flagged as orphaned which means that their original callback has
already been invoked and the request has just not been completed
by the backend storage. The bounce buffer guarantees that guest
memory corruption is avoided when such a orphaned request is
completed by the backend at a later stage.
This trick only works for read requests as a write request completed
at a later stage might corrupt data as there is no way to control
if and what data has already been written to the storage.
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
Commit: 7cda62087c0baf064486f3d803184c2c3b35c04a
https://github.com/qemu/qemu/commit/7cda62087c0baf064486f3d803184c2c3b35c04a
Author: Peter Lieven <address@hidden>
Date: 2015-11-17 (Tue, 17 Nov 2015)
Changed paths:
M hw/ide/pci.c
Log Message:
-----------
ide: orphan all buffered requests on DMA cancel
If the guests canceles a DMA request we can prematurely
invoke all callbacks of buffered requests and flag all them
as orphaned. Ideally this avoids the need for draining all
requests. For CDROM devices this works in 100% of all cases.
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
Commit: 02506b20b6609ed4ecb09de9900ba9f1dd20b205
https://github.com/qemu/qemu/commit/02506b20b6609ed4ecb09de9900ba9f1dd20b205
Author: Peter Lieven <address@hidden>
Date: 2015-11-17 (Tue, 17 Nov 2015)
Changed paths:
M hw/ide/atapi.c
Log Message:
-----------
ide: enable buffered requests for ATAPI devices
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
Commit: d66a8fa83b00b3b3d631a0e28cdce8c9b5698822
https://github.com/qemu/qemu/commit/d66a8fa83b00b3b3d631a0e28cdce8c9b5698822
Author: Peter Lieven <address@hidden>
Date: 2015-11-17 (Tue, 17 Nov 2015)
Changed paths:
M hw/ide/core.c
Log Message:
-----------
ide: enable buffered requests for PIO read requests
Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
Commit: 6b79f253a37708f21e8d1cd2831b8d8c03f58989
https://github.com/qemu/qemu/commit/6b79f253a37708f21e8d1cd2831b8d8c03f58989
Author: Peter Maydell <address@hidden>
Date: 2015-11-18 (Wed, 18 Nov 2015)
Changed paths:
M block/block-backend.c
M hw/ide/atapi.c
M hw/ide/core.c
M hw/ide/internal.h
M hw/ide/pci.c
M include/sysemu/block-backend.h
Log Message:
-----------
Merge remote-tracking branch 'remotes/jnsnow/tags/ide-pull-request' into
staging
# gpg: Signature made Tue 17 Nov 2015 20:06:58 GMT using RSA key ID AAFC390E
# gpg: Good signature from "John Snow (John Huston) <address@hidden>"
* remotes/jnsnow/tags/ide-pull-request:
ide: enable buffered requests for PIO read requests
ide: enable buffered requests for ATAPI devices
ide: orphan all buffered requests on DMA cancel
ide: add support for IDEBufferedRequest
block: add blk_abort_aio_request
ide/atapi: make PIO read requests async
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/55db5eeeb7aa...6b79f253a377
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 5f8172: ide/atapi: make PIO read requests async,
GitHub <=