[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 0/4] block layer: split block APIs in graph and I/O
From: |
Stefan Hajnoczi |
Subject: |
Re: [RFC PATCH 0/4] block layer: split block APIs in graph and I/O |
Date: |
Mon, 13 Sep 2021 14:10:16 +0100 |
On Wed, Sep 08, 2021 at 09:10:17AM -0400, Emanuele Giuseppe Esposito wrote:
> Currently, block layer APIs like block-backend.h contain a mix of
> functions that are either running in the main loop and under the
> BQL, or are thread-safe functions and run in iothreads performing I/O.
> The functions running under BQL also take care of modifying the
> block graph, by using drain and/or aio_context_acquire/release.
> This makes it very confusing to understand where each function
> runs, and what assumptions it provided with regards to thread
> safety.
>
> We call the functions running under BQL "graph API", and
> distinguish them from the thread-safe "I/O API".
Maybe "BQL" is clearer than "graph" because not all functions classified
as "graph" need to traverse/modify the graph.
Stefan
signature.asc
Description: PGP signature
- Re: [RFC PATCH 2/4] migration: block-dirty-bitmap: add missing qemu_mutex_lock_iothread, (continued)
- Re: [RFC PATCH 0/4] block layer: split block APIs in graph and I/O,
Stefan Hajnoczi <=
Re: [RFC PATCH 0/4] block layer: split block APIs in graph and I/O, Stefan Hajnoczi, 2021/09/13