Bug 730686
| Summary: | Huge performance regression in NFS client [rhel-5.7.z] | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 5 | Reporter: | RHEL Program Management <pm-rhel> | ||||
| Component: | kernel | Assignee: | Phillip Lougher <plougher> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Jian Li <jiali> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | 5.7 | CC: | admin, aokuliar, bfields, burt, csieh, cww, dhoward, dhowells, djuran, dZhu, hdemonte, iheim, jeder, jentrena, jiali, jlayton, j.s.peatfield, jtluka, jwest, kbooth, kkolakow, nmurray, pasteur, plyons, pm-eus, qcai, rrajaram, rwheeler, sprabhu, steved, vincent | ||||
| Target Milestone: | rc | Keywords: | ZStream | ||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | kernel-2.6.18-274.4.1.el5 | Doc Type: | Bug Fix | ||||
| Doc Text: |
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.
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2011-10-20 17:31:01 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | 728508 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
RHEL Program Management
2011-08-15 11:29:09 UTC
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.
|