From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQDlR-0007ij-Gu for qemu-devel@nongnu.org; Thu, 11 Apr 2013 05:25:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UQDlP-0006f1-Ui for qemu-devel@nongnu.org; Thu, 11 Apr 2013 05:25:53 -0400 Received: from mail-ee0-f52.google.com ([74.125.83.52]:36616) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQDlP-0006eo-Iu for qemu-devel@nongnu.org; Thu, 11 Apr 2013 05:25:51 -0400 Received: by mail-ee0-f52.google.com with SMTP id d17so640764eek.39 for ; Thu, 11 Apr 2013 02:25:50 -0700 (PDT) Date: Thu, 11 Apr 2013 11:25:48 +0200 From: Stefan Hajnoczi Message-ID: <20130411092548.GE8904@stefanha-thinkpad.redhat.com> References: <7029962A8C6EFDBC98B51E44@nimrod.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7029962A8C6EFDBC98B51E44@nimrod.local> Subject: Re: [Qemu-devel] Adding a persistent writeback cache to qemu List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Bligh Cc: qemu-devel@nongnu.org On Mon, Apr 01, 2013 at 01:21:45PM +0000, Alex Bligh wrote: > I'd like to experiment with adding persistent writeback cache to qemu. > The use case here is where non-local storage is used (e.g. rbd, ceph) > using the qemu drivers, together with a local cache as a file on > a much faster locally mounted device, for instance an SSD (possibly > replicated). This would I think give a similar performance boost to > using an rbd block device plus flashcache/dm-cache/bcache, but without > introducing all the context switches and limitations of having to > use real block devices. I appreciate it would need to be live migration > aware (worst case solution: flush and turn off caching during live > migrate), and ideally be capable of replaying a dirty writeback cache > in the event the host crashes. > > Is there any support for this already? Has anyone worked on this before? > If not, would there be any interest in it? I'm concerned about the complexity this would introduce in QEMU. Therefore I'm a fan of using existing solutions like the Linux block layer instead of reimplementing this stuff in Linux. What concrete issues are there with using rbd plus flashcache/dm-cache/bcache? I'm not sure I understand the context switch problem since implementing it in user space will still require system calls to do all the actual cache I/O. Stefan