[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BA1090E.9090502@redhat.com>
Date: Wed, 17 Mar 2010 18:53:34 +0200
From: Avi Kivity <avi@...hat.com>
To: Chris Webb <chris@...chsys.com>
CC: balbir@...ux.vnet.ibm.com,
KVM development list <kvm@...r.kernel.org>,
Rik van Riel <riel@...riel.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Christoph Hellwig <hch@....de>, Kevin Wolf <kwolf@...hat.com>
Subject: Re: [PATCH][RF C/T/D] Unmapped page cache control - via boot parameter
On 03/17/2010 06:47 PM, Chris Webb wrote:
> Avi Kivity<avi@...hat.com> writes:
>
>
>> Chris, can you carry out an experiment? Write a program that
>> pwrite()s a byte to a file at the same location repeatedly, with the
>> file opened using O_SYNC. Measure the write rate, and run blktrace
>> on the host to see what the disk (/dev/sda, not the volume) sees.
>> Should be a (write, flush, write, flush) per pwrite pattern or
>> similar (for writing the data and a journal block, perhaps even
>> three writes will be needed).
>>
>> Then scale this across multiple guests, measure and trace again. If
>> we're lucky, the flushes will be coalesced, if not, we need to work
>> on it.
>>
> Sure, sounds like an excellent plan. I don't have a test machine at the
> moment as the last host I was using for this has gone into production, but
> I'm due to get another one to install later today or first thing tomorrow
> which would be ideal for doing this. I'll follow up with the results once I
> have them.
>
Meanwhile I looked at the code, and it looks bad. There is an
IO_CMD_FDSYNC, but it isn't tagged, so we have to drain the queue before
issuing it. In any case, qemu doesn't use it as far as I could tell,
and even if it did, device-matter doesn't implement the needed
->aio_fsync() operation.
So, there's a lot of plubming needed before we can get cache flushes
merged into each other. Given cache=writeback does allow merging, I
think we explained part of the problem at least.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists