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