All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 7/7] qcow2: always operate caches in writeback mode
Date: Fri, 08 Jun 2012 15:59:05 +0200	[thread overview]
Message-ID: <4FD20529.5000701@redhat.com> (raw)
In-Reply-To: <1338933895-20677-8-git-send-email-pbonzini@redhat.com>

Am 06.06.2012 00:04, schrieb Paolo Bonzini:
> Writethrough does not need special-casing anymore in the qcow2 caches.
> The block layer adds flushes after every guest-initiated data write,
> and these will also flush the qcow2 caches to the OS.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

> diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
> index 5d6ea72..66f3915 100644
> --- a/block/qcow2-refcount.c
> +++ b/block/qcow2-refcount.c
> @@ -726,13 +726,6 @@ int qcow2_update_snapshot_refcount(BlockDriverState *bs,
>      int64_t old_offset, old_l2_offset;
>      int i, j, l1_modified = 0, nb_csectors, refcount;
>      int ret;
> -    bool old_l2_writethrough, old_refcount_writethrough;
> -
> -    /* Switch caches to writeback mode during update */
> -    old_l2_writethrough =
> -        qcow2_cache_set_writethrough(bs, s->l2_table_cache, false);
> -    old_refcount_writethrough =
> -        qcow2_cache_set_writethrough(bs, s->refcount_block_cache, false);
>  
>      l2_table = NULL;
>      l1_table = NULL;
> @@ -856,11 +849,6 @@ fail:
>          qcow2_cache_put(bs, s->l2_table_cache, (void**) &l2_table);
>      }
>  
> -    /* Enable writethrough cache mode again */
> -    qcow2_cache_set_writethrough(bs, s->l2_table_cache, old_l2_writethrough);
> -    qcow2_cache_set_writethrough(bs, s->refcount_block_cache,
> -        old_refcount_writethrough);
> -

Here you're dropping an implicit cache flush. Not sure if it really
matters, though. Maybe we should add flushes in the right places in
higher level functions like bdrv_snapshot_create().

Kevin

  reply	other threads:[~2012-06-08 13:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-05 22:04 [Qemu-devel] [PATCH v3 0/7] Manual writethrough cache and cache mode toggle Paolo Bonzini
2012-06-05 22:04 ` [Qemu-devel] [PATCH v3 1/7] block: flush in writethrough mode after writes Paolo Bonzini
2012-06-05 22:04 ` [Qemu-devel] [PATCH v3 2/7] savevm: flush after saving vm state Paolo Bonzini
2012-06-05 22:04 ` [Qemu-devel] [PATCH v3 3/7] block: copy enable_write_cache in bdrv_append Paolo Bonzini
2012-06-05 22:04 ` [Qemu-devel] [PATCH v3 4/7] block: add bdrv_set_enable_write_cache Paolo Bonzini
2012-06-05 22:04 ` [Qemu-devel] [PATCH v3 5/7] block: always open drivers in writeback mode Paolo Bonzini
2012-06-05 22:04 ` [Qemu-devel] [PATCH v3 6/7] ide: support enable/disable write cache Paolo Bonzini
2012-06-05 22:04 ` [Qemu-devel] [PATCH v3 7/7] qcow2: always operate caches in writeback mode Paolo Bonzini
2012-06-08 13:59   ` Kevin Wolf [this message]
2012-06-11  6:38     ` Paolo Bonzini
2012-06-08 14:47 ` [Qemu-devel] [PATCH v3 0/7] Manual writethrough cache and cache mode toggle Stefan Hajnoczi
2012-06-08 14:52 ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FD20529.5000701@redhat.com \
    --to=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.