All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Chris Webb <chris@arachsys.com>,
	balbir@linux.vnet.ibm.com,
	KVM development list <kvm@vger.kernel.org>,
	Rik van Riel <riel@surriel.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Kevin Wolf <kwolf@redhat.com>
Subject: Re: [PATCH][RF C/T/D] Unmapped page cache control - via boot parameter
Date: Tue, 16 Mar 2010 12:36:31 +0200	[thread overview]
Message-ID: <4B9F5F2F.8020501@redhat.com> (raw)
In-Reply-To: <20100316102637.GA23584@lst.de>

On 03/16/2010 12:26 PM, Christoph Hellwig wrote:
> Avi,
>
> cache=writeback can be faster than cache=none for the same reasons
> a disk cache speeds up access.  As long as the I/O mix contains more
> asynchronous then synchronous writes it allows the host to do much
> more reordering, only limited by the cache size (which can be quite
> huge when using the host pagecache) and the amount of cache flushes
> coming from the host.  If you have a fsync heavy workload or metadata
> operation with a filesystem like the current XFS you will get lots
> of cache flushes that make the use of the additional cache limits.
>    

Are you talking about direct volume access or qcow2?

For direct volume access, I still don't get it.  The number of barriers 
issues by the host must equal (or exceed, but that's pointless) the 
number of barriers issued by the guest.  cache=writeback allows the host 
to reorder writes, but so does cache=none.  Where does the difference 
come from?

Put it another way.  In an unvirtualized environment, if you implement a 
write cache in a storage driver (not device), and sync it on a barrier 
request, would you expect to see a performance improvement?


> If you don't have a of lot of cache flushes, e.g. due to dumb
> applications that do not issue fsync, or even run ext3 in it's default
> mode never issues cache flushes the benefit will be enormous, but the
> data loss and possible corruption will be enormous.
>    

Shouldn't the host never issue cache flushes in this case? (for direct 
volume access; qcow2 still needs flushes for metadata integrity).

> But even for something like btrfs that does provide data integrity
> but issues cache flushes fairly effeciently data=writeback may
> provide a quite nice speedup, especially if using multiple guest
> accessing the same spindle(s).
>
> But I wouldn't be surprised if IBM's exteme differences are indeed due
> to the extremly unsafe ext3 default behaviour.
>    


-- 
error compiling committee.c: too many arguments to function


WARNING: multiple messages have this Message-ID (diff)
From: Avi Kivity <avi@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Chris Webb <chris@arachsys.com>,
	balbir@linux.vnet.ibm.com,
	KVM development list <kvm@vger.kernel.org>,
	Rik van Riel <riel@surriel.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Kevin Wolf <kwolf@redhat.com>
Subject: Re: [PATCH][RF C/T/D] Unmapped page cache control - via boot parameter
Date: Tue, 16 Mar 2010 12:36:31 +0200	[thread overview]
Message-ID: <4B9F5F2F.8020501@redhat.com> (raw)
In-Reply-To: <20100316102637.GA23584@lst.de>

On 03/16/2010 12:26 PM, Christoph Hellwig wrote:
> Avi,
>
> cache=writeback can be faster than cache=none for the same reasons
> a disk cache speeds up access.  As long as the I/O mix contains more
> asynchronous then synchronous writes it allows the host to do much
> more reordering, only limited by the cache size (which can be quite
> huge when using the host pagecache) and the amount of cache flushes
> coming from the host.  If you have a fsync heavy workload or metadata
> operation with a filesystem like the current XFS you will get lots
> of cache flushes that make the use of the additional cache limits.
>    

Are you talking about direct volume access or qcow2?

For direct volume access, I still don't get it.  The number of barriers 
issues by the host must equal (or exceed, but that's pointless) the 
number of barriers issued by the guest.  cache=writeback allows the host 
to reorder writes, but so does cache=none.  Where does the difference 
come from?

Put it another way.  In an unvirtualized environment, if you implement a 
write cache in a storage driver (not device), and sync it on a barrier 
request, would you expect to see a performance improvement?


> If you don't have a of lot of cache flushes, e.g. due to dumb
> applications that do not issue fsync, or even run ext3 in it's default
> mode never issues cache flushes the benefit will be enormous, but the
> data loss and possible corruption will be enormous.
>    

Shouldn't the host never issue cache flushes in this case? (for direct 
volume access; qcow2 still needs flushes for metadata integrity).

> But even for something like btrfs that does provide data integrity
> but issues cache flushes fairly effeciently data=writeback may
> provide a quite nice speedup, especially if using multiple guest
> accessing the same spindle(s).
>
> But I wouldn't be surprised if IBM's exteme differences are indeed due
> to the extremly unsafe ext3 default behaviour.
>    


-- 
error compiling committee.c: too many arguments to function

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-03-16 10:36 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-15  7:22 [PATCH][RF C/T/D] Unmapped page cache control - via boot parameter Balbir Singh
2010-03-15  7:22 ` Balbir Singh
2010-03-15  7:48 ` Avi Kivity
2010-03-15  7:48   ` Avi Kivity
2010-03-15  8:07   ` Balbir Singh
2010-03-15  8:07     ` Balbir Singh
2010-03-15  8:27     ` Avi Kivity
2010-03-15  8:27       ` Avi Kivity
2010-03-15  9:17       ` Balbir Singh
2010-03-15  9:17         ` Balbir Singh
2010-03-15  9:27         ` Avi Kivity
2010-03-15  9:27           ` Avi Kivity
2010-03-15 10:45           ` Balbir Singh
2010-03-15 10:45             ` Balbir Singh
2010-03-15 18:48           ` Anthony Liguori
2010-03-15 18:48             ` Anthony Liguori
2010-03-16  9:05             ` Avi Kivity
2010-03-16  9:05               ` Avi Kivity
2010-03-19  7:23               ` Dave Hansen
2010-03-19  7:23                 ` Dave Hansen
2010-03-15 20:23       ` Chris Webb
2010-03-15 20:23         ` Chris Webb
2010-03-15 23:43         ` Anthony Liguori
2010-03-15 23:43           ` Anthony Liguori
2010-03-16  0:43           ` Christoph Hellwig
2010-03-16  0:43             ` Christoph Hellwig
2010-03-16  1:27             ` Anthony Liguori
2010-03-16  1:27               ` Anthony Liguori
2010-03-16  8:19               ` Christoph Hellwig
2010-03-16  8:19                 ` Christoph Hellwig
2010-03-17 15:14           ` Chris Webb
2010-03-17 15:14             ` Chris Webb
2010-03-17 15:55             ` Anthony Liguori
2010-03-17 15:55               ` Anthony Liguori
2010-03-17 16:27               ` Chris Webb
2010-03-17 16:27                 ` Chris Webb
2010-03-22 21:04                 ` Chris Webb
2010-03-22 21:04                   ` Chris Webb
2010-03-22 21:07                   ` Avi Kivity
2010-03-22 21:07                     ` Avi Kivity
2010-03-22 21:10                     ` Chris Webb
2010-03-22 21:10                       ` Chris Webb
2010-03-17 16:27               ` Balbir Singh
2010-03-17 16:27                 ` Balbir Singh
2010-03-17 17:05             ` Vivek Goyal
2010-03-17 17:05               ` Vivek Goyal
2010-03-17 19:11               ` Chris Webb
2010-03-17 19:11                 ` Chris Webb
2010-03-16  3:16         ` Balbir Singh
2010-03-16  3:16           ` Balbir Singh
2010-03-16  9:17         ` Avi Kivity
2010-03-16  9:17           ` Avi Kivity
2010-03-16  9:54           ` Kevin Wolf
2010-03-16  9:54             ` Kevin Wolf
2010-03-16 10:16             ` Avi Kivity
2010-03-16 10:16               ` Avi Kivity
2010-03-16 10:26           ` Christoph Hellwig
2010-03-16 10:26             ` Christoph Hellwig
2010-03-16 10:36             ` Avi Kivity [this message]
2010-03-16 10:36               ` Avi Kivity
2010-03-16 10:44               ` Christoph Hellwig
2010-03-16 10:44                 ` Christoph Hellwig
2010-03-16 11:08                 ` Avi Kivity
2010-03-16 11:08                   ` Avi Kivity
2010-03-16 14:27                   ` Balbir Singh
2010-03-16 14:27                     ` Balbir Singh
2010-03-16 15:59                     ` Avi Kivity
2010-03-16 15:59                       ` Avi Kivity
2010-03-17  8:49                   ` Christoph Hellwig
2010-03-17  8:49                     ` Christoph Hellwig
2010-03-17  9:10                     ` Avi Kivity
2010-03-17  9:10                       ` Avi Kivity
2010-03-17 15:24           ` Chris Webb
2010-03-17 15:24             ` Chris Webb
2010-03-17 16:22             ` Avi Kivity
2010-03-17 16:22               ` Avi Kivity
2010-03-17 16:40               ` Avi Kivity
2010-03-17 16:40                 ` Avi Kivity
2010-03-17 16:47                 ` Chris Webb
2010-03-17 16:47                   ` Chris Webb
2010-03-17 16:53                   ` Avi Kivity
2010-03-17 16:53                     ` Avi Kivity
2010-03-17 16:58                     ` Christoph Hellwig
2010-03-17 16:58                       ` Christoph Hellwig
2010-03-17 17:03                       ` Avi Kivity
2010-03-17 17:03                         ` Avi Kivity
2010-03-17 16:57                 ` Christoph Hellwig
2010-03-17 16:57                   ` Christoph Hellwig
2010-03-17 17:06                   ` Avi Kivity
2010-03-17 17:06                     ` Avi Kivity
2010-03-17 16:52               ` Christoph Hellwig
2010-03-17 16:52                 ` Christoph Hellwig
2010-03-17 17:02                 ` Avi Kivity
2010-03-17 17:02                   ` Avi Kivity
2010-03-15 15:46 ` Randy Dunlap
2010-03-15 15:46   ` Randy Dunlap
2010-03-16  3:21   ` Balbir Singh
2010-03-16  3:21     ` Balbir Singh

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=4B9F5F2F.8020501@redhat.com \
    --to=avi@redhat.com \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=chris@arachsys.com \
    --cc=hch@lst.de \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=riel@surriel.com \
    /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.