multiple threads to service a single nfs client connection?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello All,

I've been working on trying to send multiple requests in parallel from
an NFS client over UDP to a server. We're working on improving the
performance of NFS on our little core with lots of threads. Given this
environment, my goal is to send rpc tasks over UDP from more than one
thread at the same time. To do this, I take advantage of some of the
code changes made in the TX path that allow the sending of RPC packets
without having to cork the socket when MSG_MORE is false. With this
change, I don't have to lock the transport allowing me to send
rpc_tasks from multiple threads at the same time (there is some
serialization in the driver down below, but that seems okay).

Without this change (requests are sent out serially one after another)
the server gets a request, formulates a reply (my file is probably
cached on the server) and sends out a response in anywhere between 40
and 90 microseconds. It then sees the next request and so on.

With this change, the client is able to "flood" the server with a lot
of requests very quickly (they arrive about 10-15 microseconds apart).
The responses to the clients request get delayed and in some cases the
response gets delayed by 800 microseconds.

Is there a way to increase the number of threads that service a single
client connection?

Thanks
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux