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.

> 
> You don't need a bio_set if you are not queuing beneath someone else.
> But you do need to take care not to call bio_alloc() again without
> having submitted the previous allocation, that is a violation of the bio
> mempool and can lead to deadlocks. I think the batching you do looks
> pointless (again, only looking at the patch), you should submit each bio
> as soon as it is built instead of stashing it in an array for later
> submission. That also gets rid of your bio mempool violation.
> 
> > > 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.
> 
> So once you leave your queuing loop, you unplug the below device? Or
> just point me at the source...
> 

>From source code when got all requests from ring buffer, it have have
unpluged request_queue, when unplug_fn() called, maybe some requests
in request_queue waiting for commit to device.

I have suspected the data lost for device's cache, but when set the
bio rw to WRITE_SYNC, data could almost sync to disk at once.

Thanks,
Joe



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

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