I've done a fairly significant overhaul for cifs to add support for larger rsize= options and the ability for it to do readpages asynchronously. This roughly quadruples read throughput on in basic testing.
The latest upstream patchsets are here:
http://permalink.gmane.org/gmane.linux.kernel.cifs/4117http://comments.gmane.org/gmane.linux.kernel.cifs/4141
...but I may need to do another to fix up some merge conflicts with other recently merged code. The first set is an overhaul of the receive codepath to allow for larger receives, and the second changes readpages to use the new code to do readpages.
I suspect that this would be a good thing to include in RHEL6, but we'll have to gauge the benefit over the invasiveness of the patchset.
Handing to Sachin as he has more time to backport this than I do...
Comment 8RHEL Program Management
2013-05-09 15:32:35 UTC
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release. Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
http://rhn.redhat.com/errata/RHSA-2013-1645.html