From: Jeremy Allison on
On Mon, Jun 07, 2010 at 07:07:46PM -0400, Andy Liebman wrote:
> Hello,
>
> Is there any straightforward way to see whether Samba is using
> "asynchronous i/o"? In other words, if you specify in smb.conf to use
> aio for all transfers larger than 1 KB (pretty much everything), how can
> you tell that aio is actually being used? Are there any counters in
> Linux or in some samba logs that you can see incrementing over time?

Currently aio on Linux is horribly broken due to a conservative
glibc, which limits asynchronous requests to one outstanding one
per file descriptor (which pretty much makes all io synchronous
on Linux, whether you set aio sizes or not :-( ). I think this
is a bug which needs fixing but haven't yet had time to do the
work to prove this to glibc maintanence. This will be increasingly
important for SMB2, as the Windows redirector now properly
pipelines io (which the SMB1 redirector doesn't).

Currently the only way to get real aio on Linux is to use
Volker's vfs_aio_fork module, which uses processes to get
true async io working. Volker is also doing a lot of work
making aio work correctly on Linux (he has a git branch
you can track for this). Should be working properly in
3.6.x and above (that's the plan :-).

aio on Solaris, HPUX, AIX and other platforms that
implement the POSIX aio_XX calls without limitations
should be fine.

Jeremy.
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
From: Andy Liebman on
Thanks, Jeremy!

Andy
> Currently aio on Linux is horribly broken due to a conservative
> glibc, which limits asynchronous requests to one outstanding one
> per file descriptor (which pretty much makes all io synchronous
> on Linux, whether you set aio sizes or not :-( ). I think this
> is a bug which needs fixing but haven't yet had time to do the
> work to prove this to glibc maintanence. This will be increasingly
> important for SMB2, as the Windows redirector now properly
> pipelines io (which the SMB1 redirector doesn't).
>
> Currently the only way to get real aio on Linux is to use
> Volker's vfs_aio_fork module, which uses processes to get
> true async io working. Volker is also doing a lot of work
> making aio work correctly on Linux (he has a git branch
> you can track for this). Should be working properly in
> 3.6.x and above (that's the plan :-).
>
>

--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba