Re: [RFC PATCH v2 15/21] loop: use aio to perform io on the underlyingfile

From: Maxim V. Patlasov
Date: Fri Apr 20 2012 - 13:37:37 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/