All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: kwolf@redhat.com, Paul Brook <paul@codesourcery.com>,
	qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>,
	hch@lst.de
Subject: Re: [Qemu-devel] Re: [PATCH] Add cache=volatile parameter to -drive
Date: Wed, 26 May 2010 17:40:35 +0200	[thread overview]
Message-ID: <4BFD40F3.7020406@aurel32.net> (raw)
In-Reply-To: <4BFD2DF7.6020806@codemonkey.ws>

Anthony Liguori a écrit :
> On 05/26/2010 09:12 AM, Aurelien Jarno wrote:
>>> It's hard for me to consider this a performance regression because
>>> ultimately, you're getting greater than bare metal performance (because
>>> of extremely aggressive caching).  It might be a regression from the
>>> previous performance, but that was at the cost of safety.
>>>      
>> For people who don't care about safety it's still a regression. And it
>> is a common usage of QEMU.
>>    
> 
> It's not a functional change.  It's a change in performance.  There are 
> tons of changes in performance characteristics of qemu from version to 
> version.  It's not even a massive one.
> 
>>> We might get 100 bug reports about this "regression" but they concern
>>> much less than 1 bug report of image corruption because of power
>>> failure/host crash.  A reputation of being unsafe is very difficult to
>>> get rid of and is something that I hear concerns about frequently.
>>>
>>> I'm not suggesting that the compile option should be disabled by default
>>> upstream.  But the option should be there for distributions because I
>>> hope that any enterprise distro disables it.
>>>
>>>      
>> Which basically means those distro don't care about some use cases of
>> QEMU, that were for most of them the original uses cases. It's sad.
>>    
> 
> This isn't a feature.  This is a change in performance.  No one is not 
> able to satisfy their use case from this behavior.
> 
>> Sometimes I really whishes that KVM never tried to reintegrate code into
>> QEMU, it doesn't bring only good things.
>>    
> 
> I highly doubt that this is even visible on benchmarks without using 
> KVM.  The improvement on a microbenchmark was relatively small and the 
> cost from TCG would almost certainly dwarf it.

It is something clearly visible. Before fsync() was not used, and it
happens this syscall can be very expensive (ie a few seconds, especially
with some other i/o load on the system) on ext3 with not so old kernels.
A google search for "firefox fsync" will give you a few pointers.

> Also, remember before KVM, we had single threaded IO and posix-aio 
> (which is still single threaded).  If KVM never happened, block 
> performance would be far, far worse than it is today with cache=writeback.
> 

io thread is not enable by default in QEMU.


-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

  reply	other threads:[~2010-05-26 15:40 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-17 10:14 [Qemu-devel] [PATCH] Add cache=volatile parameter to -drive Alexander Graf
2010-05-17 10:42 ` [Qemu-devel] " Kevin Wolf
2010-05-17 12:58 ` Anthony Liguori
2010-05-17 13:02   ` Alexander Graf
2010-05-17 13:09     ` Anthony Liguori
2010-05-17 13:17       ` Alexander Graf
2010-05-17 13:26         ` Anthony Liguori
2010-05-17 14:04           ` Alexander Graf
2010-05-17 14:22             ` Alexander Graf
2010-05-17 15:16             ` Anthony Liguori
2010-05-17 16:23               ` Paul Brook
2010-05-17 16:26                 ` Anthony Liguori
2010-05-17 16:28                   ` Alexander Graf
2010-05-17 20:07                     ` Jamie Lokier
2010-05-18  7:42                       ` Kevin Wolf
2010-05-25 17:59                   ` Alexander Graf
2010-05-25 18:48                     ` Anthony Liguori
2010-05-25 19:01                       ` Alexander Graf
2010-05-26 13:09                       ` Avi Kivity
2010-05-25 21:01                     ` Aurelien Jarno
2010-05-26  1:31                       ` Anthony Liguori
2010-05-26  8:43                         ` Kevin Wolf
2010-05-26 13:42                           ` Anthony Liguori
2010-05-26 14:03                             ` Kevin Wolf
2010-05-26 14:08                               ` Anthony Liguori
2010-05-26 14:26                                 ` Kevin Wolf
2010-05-26 14:13                               ` Aurelien Jarno
2010-05-26  8:52                         ` Aurelien Jarno
2010-05-26  9:16                           ` Kevin Wolf
2010-05-26 13:48                           ` Anthony Liguori
2010-05-26 14:12                             ` Aurelien Jarno
2010-05-26 14:19                               ` Anthony Liguori
2010-05-26 15:40                                 ` Aurelien Jarno [this message]
2010-05-26 16:11                                   ` Anthony Liguori
2010-05-26 14:27                             ` Paolo Bonzini
2010-05-26 13:06   ` Avi Kivity
2010-05-26 13:50     ` Anthony Liguori
2010-05-26 15:13       ` Avi Kivity
2010-05-17 15:11 ` Anthony Liguori

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=4BFD40F3.7020406@aurel32.net \
    --to=aurelien@aurel32.net \
    --cc=agraf@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=hch@lst.de \
    --cc=kwolf@redhat.com \
    --cc=paul@codesourcery.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.