[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] b4e44c: io_uring: retry io_uring_submit() if
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] b4e44c: io_uring: retry io_uring_submit() if it fails with... |
Date: |
Fri, 05 Jun 2020 06:00:32 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: b4e44c9944e19c8bfc7fbf0c4a6a5e48f3ba3dc0
https://github.com/qemu/qemu/commit/b4e44c9944e19c8bfc7fbf0c4a6a5e48f3ba3dc0
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M block/io_uring.c
Log Message:
-----------
io_uring: retry io_uring_submit() if it fails with errno=EINTR
As recently documented [1], io_uring_enter(2) syscall can return an
error (errno=EINTR) if the operation was interrupted by a delivery
of a signal before it could complete.
This should happen when IORING_ENTER_GETEVENTS flag is used, for
example during io_uring_submit_and_wait() or during io_uring_submit()
when IORING_SETUP_IOPOLL is enabled.
We shouldn't have this problem for now, but it's better to prevent it.
[1]
https://github.com/axboe/liburing/commit/344355ec6619de8f4e64584c9736530b5346e4f4
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20200519133041.112138-1-sgarzare@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 769335ecb1e8fd9c4317bdff7cfd0f84af7ab2f9
https://github.com/qemu/qemu/commit/769335ecb1e8fd9c4317bdff7cfd0f84af7ab2f9
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M block/io_uring.c
Log Message:
-----------
io_uring: use io_uring_cq_ready() to check for ready cqes
In qemu_luring_poll_cb() we are not using the cqe peeked from the
CQ ring. We are using io_uring_peek_cqe() only to see if there
are cqes ready, so we can replace it with io_uring_cq_ready().
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20200519134942.118178-1-sgarzare@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 7a071a96d3ef48095892c1d1075c0181c8940058
https://github.com/qemu/qemu/commit/7a071a96d3ef48095892c1d1075c0181c8940058
Author: Alexander Bulekov <alxndr@bu.edu>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M include/sysemu/sysemu.h
M softmmu/vl.c
M tests/qtest/fuzz/fuzz.c
Log Message:
-----------
fuzz: add datadir for oss-fuzz compatability
This allows us to keep pc-bios in executable_dir/pc-bios, rather than
executable_dir/../pc-bios, which is incompatible with oss-fuzz' file
structure.
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-id: 20200512030133.29896-2-alxndr@bu.edu
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 6851803a467238ed39408e35b5f2063c1370b156
https://github.com/qemu/qemu/commit/6851803a467238ed39408e35b5f2063c1370b156
Author: Alexander Bulekov <alxndr@bu.edu>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M tests/qtest/fuzz/i440fx_fuzz.c
Log Message:
-----------
fuzz: fix typo in i440fx-qtest-reboot arguments
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20200512030133.29896-3-alxndr@bu.edu
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 3b113229c5d5477d34f54fce0a3e8781090c93b6
https://github.com/qemu/qemu/commit/3b113229c5d5477d34f54fce0a3e8781090c93b6
Author: Alexander Bulekov <alxndr@bu.edu>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M tests/qtest/fuzz/fork_fuzz.ld
Log Message:
-----------
fuzz: add mangled object name to linker script
Previously, we relied on "FuzzerTracePC*(.bss*)" to place libfuzzer's
fuzzer::TPC object into our contiguous shared-memory region. This does
not work for some libfuzzer builds, so this addition identifies the
region by its mangled name: *(.bss._ZN6fuzzer3TPCE);
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-id: 20200512030133.29896-4-alxndr@bu.edu
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: dfd5ddb5680511a2aa5576d8ed01ff214cc0fc03
https://github.com/qemu/qemu/commit/dfd5ddb5680511a2aa5576d8ed01ff214cc0fc03
Author: Alexander Bulekov <alxndr@bu.edu>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M tests/qtest/fuzz/i440fx_fuzz.c
M tests/qtest/fuzz/virtio_net_fuzz.c
M tests/qtest/fuzz/virtio_scsi_fuzz.c
Log Message:
-----------
fuzz: run the main-loop in fork-server process
Without this, the time since the last main-loop keeps increasing, as the
fuzzer runs. The forked children need to handle all the "past-due"
timers, slowing them down, over time. With this change, the
parent/fork-server process runs the main-loop, while waiting on the
child, ensuring that the timer events do not pile up, over time.
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-id: 20200512030133.29896-5-alxndr@bu.edu
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 4dfe59d187d9b218efca8d89c0c2fac1298d8712
https://github.com/qemu/qemu/commit/4dfe59d187d9b218efca8d89c0c2fac1298d8712
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M include/exec/memory.h
M memory.c
M target/arm/helper.c
Log Message:
-----------
memory: Rename memory_region_do_writeback -> memory_region_writeback
We usually use '_do_' for internal functions. Rename
memory_region_do_writeback() as memory_region_writeback().
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20200508062456.23344-2-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 9ecc996a3d39bdbf64a488936f97a9496b74ebd8
https://github.com/qemu/qemu/commit/9ecc996a3d39bdbf64a488936f97a9496b74ebd8
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M include/exec/memory.h
M memory.c
Log Message:
-----------
memory: Extract memory_region_msync() from memory_region_writeback()
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20200508062456.23344-3-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: bc2a2364b8050632a3b3de07f30d88b7f0734845
https://github.com/qemu/qemu/commit/bc2a2364b8050632a3b3de07f30d88b7f0734845
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M hw/block/Makefile.objs
M hw/block/nvme.c
Log Message:
-----------
hw/block: Let the NVMe emulated device be target-agnostic
Now than the non-target specific memory_region_msync() function
is available, use it to make this device target-agnostic.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20200508062456.23344-4-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: ab7e41e6679224e5ad8da6d70ed7e645a5a482ab
https://github.com/qemu/qemu/commit/ab7e41e6679224e5ad8da6d70ed7e645a5a482ab
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M exec.c
M include/exec/ram_addr.h
M memory.c
Log Message:
-----------
exec: Rename qemu_ram_writeback() as qemu_ram_msync()
Rename qemu_ram_writeback() as qemu_ram_msync() to better
match what it does.
Suggested-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 20200508062456.23344-5-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 7d2410cea154bf915fb30179ebda3b17ac36e70e
https://github.com/qemu/qemu/commit/7d2410cea154bf915fb30179ebda3b17ac36e70e
Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M block/io.c
Log Message:
-----------
block: Factor out bdrv_run_co()
We have a few bdrv_*() functions that can either spawn a new coroutine
and wait for it with BDRV_POLL_WHILE() or use a fastpath if they are
alreeady running in a coroutine. All of them duplicate basically the
same code.
Factor the common code into a new function bdrv_run_co().
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id: 20200520144901.16589-1-vsementsov@virtuozzo.com
[Factor out bdrv_run_co_entry too]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: b489f015fbe2bd59d409211f79ea0a8ac5d2a66d
https://github.com/qemu/qemu/commit/b489f015fbe2bd59d409211f79ea0a8ac5d2a66d
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2020-06-05 (Fri, 05 Jun 2020)
Changed paths:
M block/io.c
M block/io_uring.c
M exec.c
M hw/block/Makefile.objs
M hw/block/nvme.c
M include/exec/memory.h
M include/exec/ram_addr.h
M include/sysemu/sysemu.h
M memory.c
M softmmu/vl.c
M target/arm/helper.c
M tests/qtest/fuzz/fork_fuzz.ld
M tests/qtest/fuzz/fuzz.c
M tests/qtest/fuzz/i440fx_fuzz.c
M tests/qtest/fuzz/virtio_net_fuzz.c
M tests/qtest/fuzz/virtio_scsi_fuzz.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into
staging
Pull request
# gpg: Signature made Fri 05 Jun 2020 10:47:27 BST
# gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8
* remotes/stefanha/tags/block-pull-request:
block: Factor out bdrv_run_co()
exec: Rename qemu_ram_writeback() as qemu_ram_msync()
hw/block: Let the NVMe emulated device be target-agnostic
memory: Extract memory_region_msync() from memory_region_writeback()
memory: Rename memory_region_do_writeback -> memory_region_writeback
fuzz: run the main-loop in fork-server process
fuzz: add mangled object name to linker script
fuzz: fix typo in i440fx-qtest-reboot arguments
fuzz: add datadir for oss-fuzz compatability
io_uring: use io_uring_cq_ready() to check for ready cqes
io_uring: retry io_uring_submit() if it fails with errno=EINTR
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/66234fee9c2d...b489f015fbe2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] b4e44c: io_uring: retry io_uring_submit() if it fails with...,
Peter Maydell <=