[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] thread-pool: Add option to fix the pool size
From: |
Stefan Hajnoczi |
Subject: |
Re: [RFC] thread-pool: Add option to fix the pool size |
Date: |
Mon, 7 Feb 2022 15:20:10 +0000 |
On Mon, Feb 07, 2022 at 01:00:46PM +0100, Nicolas Saenz Julienne wrote:
> Hi Stefan, thanks for the review. I took note of your comments.
>
> On Thu, 2022-02-03 at 10:53 +0000, Stefan Hajnoczi wrote:
> > > Some background on my workload: I'm using IDE emulation, the guest is an
> > > old RTOS that doesn't support virtio, using 'aio=native' isn't possible
> > > either (unaligned IO accesses).
> >
> > I thought QEMU's block layer creates bounce buffers for unaligned
> > accesses, handling both memory buffer alignment and LBA alignment
> > necessary for aio=native,cache=none?
>
> See block/file-posix.c:raw_co_prw() {
>
> /*
> * When using O_DIRECT, the request must be aligned to be able to use
> * either libaio or io_uring interface. If not fail back to regular thread
> * pool read/write code which emulates this for us if we set
> * QEMU_AIO_MISALIGNED.
> */
> if (s->needs_alignment && !bdrv_qiov_is_aligned(bs, qiov))
> type |= QEMU_AIO_MISALIGNED;
> else if (s->use_linux_io_uring)
> return luring_co_submit(...);
> else if (s->use_linux_aio)
> return laio_co_submit(...);
>
> return raw_thread_pool_submit(..., handle_aiocb_rw, ...);
> }
>
> bdrv_qiov_is_aligned() returns 'false' on my use-case.
>
> I believe what you're referring to happens in handle_aiocb_rw(), but it's too
> late then.
I was thinking of block/io.c:bdrv_co_preadv_part() but it only aligns
the LBA, not memory buffers.
Stefan
signature.asc
Description: PGP signature
- Re: [RFC] thread-pool: Add option to fix the pool size, (continued)
- Re: [RFC] thread-pool: Add option to fix the pool size, Stefan Hajnoczi, 2022/02/03
- Re: [RFC] thread-pool: Add option to fix the pool size, Daniel P . Berrangé, 2022/02/03
- Re: [RFC] thread-pool: Add option to fix the pool size, Stefan Hajnoczi, 2022/02/03
- Re: [RFC] thread-pool: Add option to fix the pool size, Nicolas Saenz Julienne, 2022/02/11
- Re: [RFC] thread-pool: Add option to fix the pool size, Kevin Wolf, 2022/02/11
- Re: [RFC] thread-pool: Add option to fix the pool size, Stefan Hajnoczi, 2022/02/14
- Re: [RFC] thread-pool: Add option to fix the pool size, Kevin Wolf, 2022/02/14
- Re: [RFC] thread-pool: Add option to fix the pool size, Stefan Hajnoczi, 2022/02/14
- Re: [RFC] thread-pool: Add option to fix the pool size, Kevin Wolf, 2022/02/14
Re: [RFC] thread-pool: Add option to fix the pool size, Nicolas Saenz Julienne, 2022/02/07
- Re: [RFC] thread-pool: Add option to fix the pool size,
Stefan Hajnoczi <=