Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 5 product line. The current stable release is 5.10. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 528070

Summary: skip inodes without pages to free in drop_pagecache_sb()
Product: Red Hat Enterprise Linux 5 Reporter: Larry Woodman <lwoodman>
Component: kernelAssignee: Larry Woodman <lwoodman>
Status: CLOSED ERRATA QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: low    
Version: 5.5CC: jtluka, qcai, yugzhang
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-03-30 07:44:45 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 aviod shrinking inodes that have no pages. none

Description Larry Woodman 2009-10-08 20:03:30 UTC
Description of problem:

The attached patch is an upstream backport that prevents weird locking
behavior when dropping the pagecache under heavy load.  This probably
should have been included with the fix to BZ500164 and its not important
enough to respin U4 but should go into RHEL5-U5.

Version-Release number of selected component (if applicable):


How reproducible:

When shrinking pagecache on system with heavy file creates and deletes of everything within multiple directories weird performance problems form spinlocks occur.  Doens happen all the time but can bee seen on large NUMA systems.

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Larry Woodman 2009-10-08 20:05:31 UTC
Created attachment 364176 [details]
Patch to aviod shrinking inodes that have no pages.

Comment 3 Jan Tluka 2009-11-30 14:25:58 UTC
Larry, can you provide more detailed information what should we verify here? 
What performance problems should we see/are we looking for?

Comment 4 Larry Woodman 2009-11-30 14:58:11 UTC
 __invalidate_mapping_pages() was called when node->i_mapping->nrpages is zero adding to lock contention.  With this patch we never end up in __invalidate_mapping_pages() when node->i_mapping->nrpages is zero.

I just observed less lock contention when doing 
"echo 1 > /proc/sys/vm/drop_caches"


Larry

Comment 5 Don Zickus 2009-12-02 21:03:22 UTC
in kernel-2.6.18-176.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Please do NOT transition this bugzilla state to VERIFIED until our QE team
has sent specific instructions indicating when to do so.  However feel free
to provide a comment indicating that this fix has been verified.

Comment 6 Don Zickus 2009-12-02 21:14:42 UTC
in kernel-2.6.18-176.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Please do NOT transition this bugzilla state to VERIFIED until our QE team
has sent specific instructions indicating when to do so.  However feel free
to provide a comment indicating that this fix has been verified.

Comment 10 errata-xmlrpc 2010-03-30 07:44:45 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0178.html