All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <levinsasha928@gmail.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: linux-kernel@vger.kernel.org, rusty@rustcorp.com.au, kvm@vger.kernel.org
Subject: Re: [PATCH] virtio-blk: allow toggling host cache between writeback and writethrough
Date: Wed, 04 Jul 2012 23:11:25 +0200	[thread overview]
Message-ID: <1341436285.18786.6.camel@lappy> (raw)
In-Reply-To: <4FF47023.7080206@redhat.com>

On Wed, 2012-07-04 at 18:32 +0200, Paolo Bonzini wrote:
> Il 04/07/2012 18:26, Sasha Levin ha scritto:
> > On Tue, 2012-07-03 at 15:19 +0200, Paolo Bonzini wrote:
> >> diff --git a/include/linux/virtio_blk.h b/include/linux/virtio_blk.h
> >> index e0edb40..18a1027 100644
> >> --- a/include/linux/virtio_blk.h
> >> +++ b/include/linux/virtio_blk.h
> >> @@ -37,8 +37,9 @@
> >>  #define VIRTIO_BLK_F_RO                5       /* Disk is read-only */
> >>  #define VIRTIO_BLK_F_BLK_SIZE  6       /* Block size of disk is available*/
> >>  #define VIRTIO_BLK_F_SCSI      7       /* Supports scsi command passthru */
> >> -#define VIRTIO_BLK_F_FLUSH     9       /* Cache flush command support */
> >> +#define VIRTIO_BLK_F_WCE       9       /* Writeback mode enabled after reset */
> >>  #define VIRTIO_BLK_F_TOPOLOGY  10      /* Topology information is available */
> >> +#define VIRTIO_BLK_F_CONFIG_WCE        11      /* Writeback mode available in config */ 
> > 
> > Wouldn't this change break any usermode code that implements virtio-blk?
> 
> No, the change is really just clarifying the existing spec, and
> mandating that virtio-blk implementations follow certain assumptions of
> the Linux driver.
> 
> In particular, the Linux driver is already assuming that the host
> exposes VIRTIO_BLK_F_FLUSH if and only if it exposes a volatile write
> cache.  This works because if you have a writeback cache, but provide no
> way to flush it, the guest driver really cannot do anything about it
> anyway.  Might as well treat it as writethrough, i.e. blk_queue_flush(q, 0).
> 
> QEMU in fact has already behaved like that, and even called the flag
> VIRTIO_BLK_F_WCACHE instead of VIRRTIO_BLK_F_FLUSH.

There are two things going on here:
 1. Rename VIRTIO_BLK_F_FLUSH to VIRTIO_BLK_F_WCE
 2. Add a new VIRTIO_BLK_F_CONFIG_WCE

I'm concerned that the first change is going to break compilation for
any code that included linux/virtio-blk.h and used VIRTIO_BLK_F_FLUSH.


  reply	other threads:[~2012-07-04 21:10 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-03 13:19 [PATCH] virtio-blk: allow toggling host cache between writeback and writethrough Paolo Bonzini
2012-07-04  5:55 ` Rusty Russell
2012-07-04  6:24 ` Rusty Russell
2012-07-04 15:13 ` Michael S. Tsirkin
2012-07-04 15:42 ` Michael S. Tsirkin
2012-07-04 15:42   ` Michael S. Tsirkin
2012-07-04 15:54   ` Paolo Bonzini
2012-07-04 16:02     ` Michael S. Tsirkin
2012-07-04 16:02       ` Michael S. Tsirkin
2012-07-04 16:08       ` Paolo Bonzini
2012-07-04 16:08         ` Paolo Bonzini
2012-07-04 21:30         ` Michael S. Tsirkin
2012-07-04 21:30           ` Michael S. Tsirkin
2012-07-05  6:45           ` Paolo Bonzini
2012-07-05  6:45             ` Paolo Bonzini
2012-07-04 15:54   ` Paolo Bonzini
2012-07-04 16:26 ` Sasha Levin
2012-07-04 16:32   ` Paolo Bonzini
2012-07-04 21:11     ` Sasha Levin [this message]
2012-07-05  6:47       ` Paolo Bonzini
2012-07-05  7:02         ` Sasha Levin
2012-07-08 23:45           ` Rusty Russell
2012-07-25  1:02           ` Rusty Russell
2012-07-05 18:39 ` Badari Pulavarty
2012-07-06  6:47   ` Paolo Bonzini

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=1341436285.18786.6.camel@lappy \
    --to=levinsasha928@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rusty@rustcorp.com.au \
    /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.