On 04/13/2013 07:27 AM, James Peach wrote:
On Apr 11, 2013, at 7:25 PM, weijin <weilogs...@126.com> wrote:

after changed to Linux Native AIO, the AIO callback happened in the same 
thread, that means all subsequent operations of vol init will be also happened 
in only one thread.
Why is this? Is it due to the way your change works or the way Linux AIO works?
yes, If enable_native_aio, which thread submit, which handle callbacks

But the previous aio can callback in any ET_CALL thread, so in most case the 
vol init operations can spread to many thread.
So does that mean that you only have 1 thread handling AIO for each disk? What 
is the performance profile of that?

the vol::init will first read the dirs, then do the recover logics. the recover logics is complicate and may read data more than one time. We may have many vols and I will Vol::init (recover logics) can be done paralleled.
On 04/11/2013 11:28 PM, James Peach wrote:
Hi Weijin,

I'm looking at the Linux AOI changes, and there is one place where you lift the 
Vol::init out into a VolInit continuation. This change doesn't seem specific to 
Linux AIO ... can you explain why it's being done? Is it safe to do it when 
Linux AIO is not enabled?

thanks,
James





Reply via email to