summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGerald Schaefer <gerald.schaefer@de.ibm.com>2013-01-09 18:49:51 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-01-12 18:49:25 +0100
commit171c4006fb1b42a084057a71c86776e9f1b8e62c (patch)
tree84ea088530fdda5322b144ccfbf32b9502fcf737 /arch
parentb719f43059903820c31edb30f4663a2818836e7f (diff)
downloadlinux-171c4006fb1b42a084057a71c86776e9f1b8e62c.tar.gz
linux-171c4006fb1b42a084057a71c86776e9f1b8e62c.tar.bz2
linux-171c4006fb1b42a084057a71c86776e9f1b8e62c.zip
s390/mm: fix pmd_pfn() for thp
The pfn calculation in pmd_pfn() is broken for thp, because it uses HPAGE_SHIFT instead of the normal PAGE_SHIFT. This is fixed by removing the distinction between thp and normal pmds in that function, and always using PAGE_SHIFT. Reported-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/include/asm/pgtable.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
index c928dc1938f2..c1d7930a82f4 100644
--- a/arch/s390/include/asm/pgtable.h
+++ b/arch/s390/include/asm/pgtable.h
@@ -1387,10 +1387,7 @@ static inline int has_transparent_hugepage(void)
static inline unsigned long pmd_pfn(pmd_t pmd)
{
- if (pmd_trans_huge(pmd))
- return pmd_val(pmd) >> HPAGE_SHIFT;
- else
- return pmd_val(pmd) >> PAGE_SHIFT;
+ return pmd_val(pmd) >> PAGE_SHIFT;
}
#endif /* CONFIG_TRANSPARENT_HUGEPAGE */