Message ID | 20190725100550.33801-1-vsementsov@virtuozzo.com (mailing list archive) |
---|---|
Headers | show |
Series | block: BDRV_REQ_PREFETCH | expand |
On Thu, Jul 25, 2019 at 01:05:47PM +0300, Vladimir Sementsov-Ogievskiy wrote: > Hi all! > > Here is small new read flag: BDRV_REQ_PREFETCH, which in combination with > BDRV_REQ_COPY_ON_READ does copy-on-read without > extra buffer for read data. This means that only parts that needs COR > will be actually read and only corresponding buffers allocated, no more. > > This allows to improve a bit block-stream and NBD_CMD_CACHE > > v3: rebase 02 on master, fix commit message of 03. > > v2: change interface to be just one flag BDRV_REQ_PREFETCH > > v1 was "[PATCH 0/3] block: blk_co_pcache" > https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg01047.html > > Vladimir Sementsov-Ogievskiy (3): > block: implement BDRV_REQ_PREFETCH > block/stream: use BDRV_REQ_PREFETCH > nbd: improve CMD_CACHE: use BDRV_REQ_PREFETCH > > include/block/block.h | 8 +++++++- > block/io.c | 18 ++++++++++++------ > block/stream.c | 20 +++++++------------- > nbd/server.c | 43 +++++++++++++++++++++++++++++++++++-------- > 4 files changed, 61 insertions(+), 28 deletions(-) > > -- > 2.18.0 > > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
29.07.2019 18:00, Stefan Hajnoczi wrote: > On Thu, Jul 25, 2019 at 01:05:47PM +0300, Vladimir Sementsov-Ogievskiy wrote: >> Hi all! >> >> Here is small new read flag: BDRV_REQ_PREFETCH, which in combination with >> BDRV_REQ_COPY_ON_READ does copy-on-read without >> extra buffer for read data. This means that only parts that needs COR >> will be actually read and only corresponding buffers allocated, no more. >> >> This allows to improve a bit block-stream and NBD_CMD_CACHE >> >> v3: rebase 02 on master, fix commit message of 03. >> >> v2: change interface to be just one flag BDRV_REQ_PREFETCH >> >> v1 was "[PATCH 0/3] block: blk_co_pcache" >> https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg01047.html >> >> Vladimir Sementsov-Ogievskiy (3): >> block: implement BDRV_REQ_PREFETCH >> block/stream: use BDRV_REQ_PREFETCH >> nbd: improve CMD_CACHE: use BDRV_REQ_PREFETCH >> >> include/block/block.h | 8 +++++++- >> block/io.c | 18 ++++++++++++------ >> block/stream.c | 20 +++++++------------- >> nbd/server.c | 43 +++++++++++++++++++++++++++++++++++-------- >> 4 files changed, 61 insertions(+), 28 deletions(-) >> >> -- >> 2.18.0 >> >> > > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> > Thank you for reviewing!
On 7/29/19 10:00 AM, Stefan Hajnoczi wrote: > On Thu, Jul 25, 2019 at 01:05:47PM +0300, Vladimir Sementsov-Ogievskiy wrote: >> Hi all! >> >> Here is small new read flag: BDRV_REQ_PREFETCH, which in combination with >> BDRV_REQ_COPY_ON_READ does copy-on-read without >> extra buffer for read data. This means that only parts that needs COR >> will be actually read and only corresponding buffers allocated, no more. >> >> This allows to improve a bit block-stream and NBD_CMD_CACHE >> >> v3: rebase 02 on master, fix commit message of 03. >> >> v2: change interface to be just one flag BDRV_REQ_PREFETCH >> >> v1 was "[PATCH 0/3] block: blk_co_pcache" >> https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg01047.html >> >> Vladimir Sementsov-Ogievskiy (3): >> block: implement BDRV_REQ_PREFETCH >> block/stream: use BDRV_REQ_PREFETCH >> nbd: improve CMD_CACHE: use BDRV_REQ_PREFETCH >> >> include/block/block.h | 8 +++++++- >> block/io.c | 18 ++++++++++++------ >> block/stream.c | 20 +++++++------------- >> nbd/server.c | 43 +++++++++++++++++++++++++++++++++++-------- >> 4 files changed, 61 insertions(+), 28 deletions(-) >> >> -- >> 2.18.0 >> >> > > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> > I'm happy to queue this one through my NBD tree for 4.2.