[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B9F5A96.1040705@redhat.com>
Date: Tue, 16 Mar 2010 12:16:54 +0200
From: Avi Kivity <avi@...hat.com>
To: Kevin Wolf <kwolf@...hat.com>
CC: Chris Webb <chris@...chsys.com>, 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>
Subject: Re: [PATCH][RF C/T/D] Unmapped page cache control - via boot parameter
On 03/16/2010 11:54 AM, Kevin Wolf wrote:
>
>> Is this with qcow2, raw file, or direct volume access?
>>
>> I can understand it for qcow2, but for direct volume access this
>> shouldn't happen. The guest schedules as many writes as it can,
>> followed by a sync. The host (and disk) can then reschedule them
>> whether they are in the writeback cache or in the block layer, and must
>> sync in the same way once completed.
>>
>> Perhaps what we need is bdrv_aio_submit() which can take a number of
>> requests. For direct volume access, this allows easier reordering
>> (io_submit() should plug the queues before it starts processing and
>> unplug them when done, though I don't see the code for this?). For
>> qcow2, we can coalesce metadata updates for multiple requests into one
>> RMW (for example, a sequential write split into multiple 64K-256K write
>> requests).
>>
> We already do merge sequential writes back into one larger request. So
> this is in fact a case that wouldn't benefit from such changes.
I'm not happy with that. It increases overall latency. With qcow2 it's
fine, but I'd let requests to raw volumes flow unaltered.
> It may
> help for other cases. But even if it did, coalescing metadata writes in
> qcow2 sounds like a good way to mess up, so I'd stay with doing it only
> for the data itself.
>
I don't see why.
> Apart from that, wouldn't your points apply to writeback as well?
>
They do, but for writeback the host kernel already does all the
coalescing/merging/blah for us.
--
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