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:
Created attachment 364176 [details] Patch to aviod shrinking inodes that have no pages.
Larry, can you provide more detailed information what should we verify here? What performance problems should we see/are we looking for?
__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
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.
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