Bug 676444

Summary: kswapd stuck in busy loop in nfs_access_cache_shrinker due to bad list manipulation
Product: Red Hat Enterprise Linux 6 Reporter: Casey Dahlin <cdahlin>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED DUPLICATE QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0CC: bfields, jlayton, mmilgram, rwheeler, steved, vanhoof
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-21 18:31:07 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:
Attachments:
Description Flags
Patch to replace list_for_each_entry with list_for_each_entry_safe in nfs_access_cache_shrinker none

Description Casey Dahlin 2011-02-09 21:33:21 UTC
Created attachment 477912 [details]
Patch to replace list_for_each_entry with list_for_each_entry_safe in nfs_access_cache_shrinker

Description of problem:
Customer noticed kswapd was getting stuck consuming 100% cpu. Backtraces revealed the culprit to be nfs_access_cache_shrinker. Upstream includes a patch (attached) which corrects a flaw in this function where it uses the wrong list iteration macro to move over the list. It was thus possible for the loop iterator to get "lost" and end up iterating the same now-isolated node over and over forever.

Version-Release number of selected component (if applicable):
kernel 2.6.32-71.el6

Comment 8 Marc Milgram 2011-02-21 18:31:07 UTC
I noticed that this is already ON QA as part of BZ 653066.

*** This bug has been marked as a duplicate of bug 653066 ***