Bug 528070 - skip inodes without pages to free in drop_pagecache_sb()
Summary: skip inodes without pages to free in drop_pagecache_sb()
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Larry Woodman
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-10-08 20:03 UTC by Larry Woodman
Modified: 2010-03-30 07:44 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 07:44:45 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Patch to aviod shrinking inodes that have no pages. (508 bytes, patch)
2009-10-08 20:05 UTC, Larry Woodman
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0178 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.5 kernel security and bug fix update 2010-03-29 12:18:21 UTC

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


Note You need to log in before you can comment on or make changes to this bug.