diff options
author | Ingo Molnar <mingo@kernel.org> | 2012-07-11 03:41:37 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-07-11 03:41:37 -0400 |
commit | 92254d31444aad272155f7963e65910c402703dd (patch) | |
tree | 8e454ebe60cbac9a71b1771d4e471cfe54826963 /include/asm-generic/pgtable.h | |
parent | 707ecec1dc80d54163356a25d145c62083e7be60 (diff) | |
parent | bd0a521e88aa7a06ae7aabaed7ae196ed4ad867a (diff) |
Merge tag 'v3.5-rc6' into x86/mce
Merge Linux 3.5-rc6 before merging more code.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/asm-generic/pgtable.h')
-rw-r--r-- | include/asm-generic/pgtable.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 6f2b45a9b6bc..ff4947b7a976 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
@@ -484,6 +484,16 @@ static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd) | |||
484 | /* | 484 | /* |
485 | * The barrier will stabilize the pmdval in a register or on | 485 | * The barrier will stabilize the pmdval in a register or on |
486 | * the stack so that it will stop changing under the code. | 486 | * the stack so that it will stop changing under the code. |
487 | * | ||
488 | * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE, | ||
489 | * pmd_read_atomic is allowed to return a not atomic pmdval | ||
490 | * (for example pointing to an hugepage that has never been | ||
491 | * mapped in the pmd). The below checks will only care about | ||
492 | * the low part of the pmd with 32bit PAE x86 anyway, with the | ||
493 | * exception of pmd_none(). So the important thing is that if | ||
494 | * the low part of the pmd is found null, the high part will | ||
495 | * be also null or the pmd_none() check below would be | ||
496 | * confused. | ||
487 | */ | 497 | */ |
488 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE | 498 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE |
489 | barrier(); | 499 | barrier(); |