WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [patch 0/6] xenblk: Add O_DIRECT and O_SYNC support.

To: Jens Axboe <jens.axboe@xxxxxxxxxx>
Subject: Re: [Xen-devel] [patch 0/6] xenblk: Add O_DIRECT and O_SYNC support.
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Wed, 05 Nov 2008 13:52:13 +0000
Cc: Xen-devel@xxxxxxxxxxxxxxxxxxx, kurt.hackel@xxxxxxxxxx, shinya.narahara@xxxxxxxxxx, Joe Jin <joe.jin@xxxxxxxxxx>, greg.marsden@xxxxxxxxxx, wen.gang.wang@xxxxxxxxxx
Delivery-date: Wed, 05 Nov 2008 05:52:34 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20081105133342.GM21867@xxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Ack/TbR+8xzE4qtAEd2t7AAX8io7RQ==
Thread-topic: [Xen-devel] [patch 0/6] xenblk: Add O_DIRECT and O_SYNC support.
User-agent: Microsoft-Entourage/11.4.0.080122
On 5/11/08 13:33, "Jens Axboe" <jens.axboe@xxxxxxxxxx> wrote:

> If you only complete the request once you get a completion in, then
> there's no issue. I thought it did queuing, serves me well for not
> actually having the code handy to look at... There's still some merit to
> Joe's patch, he should have split #2 into two pieces - some of it is
> actually a real bug fix (you must not do bio_alloc() without having
> submitted the previous bio you allocated, and you should use a private
> bioset if you stack). This much is at least visible from just looking at
> the patch!

blkfront can queue multiple requests to blkback, each of which is a
scatter-gather list. Each request is turned into one or more bios by
blkback, and each is individually submit_bio()ed. When ->bi_end_io(0) is
called for all bios corresponding to a request, only then is a response
queued for collection by blkfront.

I wasn't aware of limitations on number of times you can call bio_alloc().
Perhaps we should arrange to submit_bio() more eagerly, rather than batching
up (we plug the queue previously, so there's no need to batch up
submit_bio() calls for scheduling purposes). Would that be better than a
bioset, or is a bioset easier do you think?

> Does blkback propagate unplug events downwards?

Not sure what that means. blkback does its own limited queue plugging to try
to develop usefully schedulable batches of I/O. There's no concept of
plugging across the blkfront/blkback interface.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>