Bug 712258 - mm: compaction: Ensure that the compaction free scanner does not move to the next zone
Summary: mm: compaction: Ensure that the compaction free scanner does not move to the ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.2
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Andrea Arcangeli
QA Contact: Caspar Zhang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-06-10 01:19 UTC by Andrea Arcangeli
Modified: 2013-07-03 07:30 UTC (History)
5 users (show)

Fixed In Version: kernel-2.6.32-169.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-06 13:38:31 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:1530 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise Linux 6 kernel security, bug fix and enhancement update 2011-12-06 01:45:35 UTC

Description Andrea Arcangeli 2011-06-10 01:19:00 UTC
Description of problem: nr_isolated_file of zone DMA becomes fixed 1 and nr_isolated_file or zone NORMAL becomes fixed -1


How reproducible: not reproducible with CONFIG_SMP=y, and so far only reproduced on x86 32bit (maybe because of lack of ZONE_DMA32 with <4GB of ram and HIGHMEM4G=y [64G=n]).


Steps to Reproduce:
1. run a lot of SLUB order 3 allocations or THP allocations invoking compaction (better on 32bit but THP isn't available on 32bit kernels in RHEL6 so the kernel should be built with SLUB, alternatively increasing /sys/kernel/mm/hugepages-*/nr_hugepages and decreasing it in a loop may allow to reproduce it on 32bit x86) with CONFIG_SMP=n
2. grep nr_isolated /proc/zoneinfo
3.
  
Actual results: eventually the DMA zone nr_isolated_file should get fixed to 1 the NORMAL zone will go to -1 (4294967295). The VM may hang too because the -1 value of the normal zone will hang it in too_many_isolated().


Expected results: No hang and nr_isolated_* always >= 0 in a idle system (not -1).


Additional info:

During hang:

egrep 'Node|nr_isolated' /proc/zoneinfo
Node 0, zone      DMA
    nr_isolated_anon 0
    nr_isolated_file 1
Node 0, zone   Normal
    nr_isolated_anon 0
    nr_isolated_file 4294967295
Node 0, zone  HighMem
    nr_isolated_anon 0
    nr_isolated_file 0

Comment 2 RHEL Program Management 2011-06-13 09:29:50 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has 
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed 
products. This request is not yet committed for inclusion in an Update release.

Comment 4 Aristeu Rozanski 2011-07-18 15:27:56 UTC
Patch(es) available on kernel-2.6.32-169.el6

Comment 9 errata-xmlrpc 2011-12-06 13:38:31 UTC
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-1530.html


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