Does with-aio-support work?
yuehaixu at gmail.com
Thu Aug 19 18:26:14 MDT 2010
On Thu, Aug 19, 2010 at 11:39 AM, Volker Lendecke
<Volker.Lendecke at sernet.de> wrote:
> On Thu, Aug 19, 2010 at 09:43:37AM -0400, Yuehai Xu wrote:
>> Since the processes in the client are very simple program that I
>> write, they just read data with certain stride size, so, the
>> asynchronous from client should work. Is it because I use cifs to
>> mount the directory from samba server so that no asynchronous requests
>> are found? You have said I need to look at the specific docs when
>> cifsfs is used, but the client is also running in Linux, is it
>> different that I use smbclient to read data or mount with cifsfs and
>> then read?
> Yes, using a cifs mountpoint is different from using
> smbclient. I would have to look into the network traces to
> see whether cifs can multiplex different processes in a way
> that requests are sent out in parallel. I would hope it does
> so, but I'm pretty certain that for example smbfs does not
> do that, neither does smbclient before version 3.2.
Can you please tell me how to trace it by monitoring the network, how
to do you know which requests are from which clients? Here, I might
misunderstand the definition of client, does it mean a process(running
smbclient) or a machine? Because I know the IP address can help me to
know where the requests are from, but, if several processes send
requests concurrently from a single machine, how can you differentiate
>> In my opinion, because smbd might handle several clients at the same
>> time, so, dispatching the requests from different clients
>> asynchronously does make sense because it is no need for one client to
>> wait for the completion of request from another client.
> This right now is being taken care of by the fact that Samba
> uses a process per client.
Here, I am still a little puzzled about the definition of "client",
smbclient? or machine?
>> Should this be the motivation to use libaio?
> We're not using libaio, we're using the glibc async io
> facilities. Async I/O is just not supported propely in the
> Linux kernel, this has to be done in user space with
> multiple threads or processes.
More information about the samba-technical