Messages in this thread | | | Date | Fri, 20 Apr 2012 21:37:47 +0400 | From | "Maxim V. Patlasov" <> | Subject | Re: [RFC PATCH v2 15/21] loop: use aio to perform io on the underlying file |
| |
On 04/20/2012 09:19 PM, Dave Kleikamp wrote: >> 1. Could we use fdatasync there? (otherwise it can hurt performance very >> badly) > I don't see why not. Great.
>> 2. vfs_sync() is synchronous. loop_thread() will be blocked till it's >> completed. Would it be better to perform vfs_sync in another thread (to >> allow other bio-s in loop queue proceed)? Also, if there are more than >> one REQ_FLUSH bio in lo->lo_bio_list, we could call vfs_sync() only >> once. Make sense? > If more than one REQ_FLUSH bio is in the list, they should be performed > in order. We must call vfs_fsync() between each of them to guarantee that. yes, my bad
> A less complex tradeoff would be to move the vfs_fsync() call to > loop_make_request() so it is called in the context of the thread making > the request. That would make those threads requesting ordered IO to pay > the price while others would be able to proceed. > > This is something I can re-visit. I don't want to hold up progress on > the patchset for something that can be improved later. Completely agree, it can be done later.
Thanks, Maxim
| |