This bug has been copied from bug #728508 and has been proposed to be backported to 5.7 z-stream (EUS).
in kernel-2.6.18-274.4.1.el5 linux-2.6-fs-nfs-have-nfs_flush_list-issue-flush_sync-writes-in-parallel.patch
This bug is tested in three kernel package, and nfs server use rhel6. Test result is attached, brief info is listed below: kernel-2.6.18-238 "Writer report" "128" "65536" 41923 kernel-2.6.18-274.5.1 "Writer report" "128" "65536" 41594 kernel-2.6.18-274 "Writer report" "128" "65536" 30490 There are many element that effect the result, and the result is steady.
Created attachment 526995 [details] nfs performance test output
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-2011-1386.html
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: A previously introduced patch forced the ->flush and ->fsync operations to wait on all WRITE and COMMIT remote procedure calls (RPC) to complete to ensure that those RPCs were completed before returning from fsync() or close(). As a consequence, all WRITEs issued by nfs_flush_list were serialized and caused a performance regression on NFS clients. This update changes nfs_flush_one and nfs_flush_multi to not wait for WRITEs issued when the FLUSH_SYNC parameter is set, resolving performance issues on NFS clients.