On Fri, Mar 07, 2025 at 11:16:29PM +0100, Kevin Wolf wrote:
> Write requests in writethrough mode mean that QEMU sends a separate
> flush request (i.e. fdatasync) after each completed write request.
> This is unnecessary overhead when we can just pass a flag for the write
> request that gives us the desired FUA semantics.
> 
> Unfortunately, this made a problem in the adaptive polling algorithm
> apparent that would result in a performance regression in some cases
> with FUA support in file-posix. Therefore, adaptive polling is changed
> in this series, too, to avoid the regression.

Looks good!

Stefan

> 
> Kevin Wolf (5):
>   file-posix: Support FUA writes
>   block/io: Ignore FUA with cache.no-flush=on
>   aio: Create AioPolledEvent
>   aio-posix: Factor out adjust_polling_time()
>   aio-posix: Separate AioPolledEvent per AioHandler
> 
>  include/block/aio.h     |  5 ++-
>  include/block/raw-aio.h |  8 +++-
>  util/aio-posix.h        |  1 +
>  block/file-posix.c      | 26 ++++++++----
>  block/io.c              |  4 ++
>  block/io_uring.c        | 13 +++---
>  block/linux-aio.c       | 24 +++++++++--
>  util/aio-posix.c        | 94 ++++++++++++++++++++++++++---------------
>  util/async.c            |  1 -
>  meson.build             |  4 ++
>  10 files changed, 125 insertions(+), 55 deletions(-)
> 
> -- 
> 2.48.1
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to