Description of problem: Fix tail page accounting for some theoretical SMP race condition
Version-Release number of selected component (if applicable): 6.0,6.1,6.2
How reproducible: Not reproducible, only theoretical so far. I may try to write a specific testcase to try to reproduce it, but it's very unlikely any real life applications is capable of triggering this. It was found purely by code review while developing new VM features (working set estimation code on linux-mm).
Steps to Reproduce:
Actual results: the page_count(head_page) may go off by one with speculative cache reads or during heavy O_DIRECT workloads in presence of a flood of split_huge_page (not common scenario and still split_huge_page would need to run within two assembly instruction, the race window is 1 asm insn, so incredibly small with a million of pages potentially under swap and such a small race window of 1 asm insn)
Expected results: correct page_count(head_page) at all times
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.
Updated patch posted to rhkernel-list with Message-ID: <20110828165559.GB4051@redhat.com>
New build here:
Patch(es) available on kernel-2.6.32-196.el6
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.