Messages in this thread Patch in this message | | | Date | Tue, 29 Jan 2013 09:10:19 +0100 | From | Martin Schwidefsky <> | Subject | [GIT PULL] one s390 patch for 3.8-rc6 |
| |
Hi Linus,
please pull from the 'for-linus' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus
to receive the following update: Another transparent huge page fix, we need to define a s390 variant for pmdp_set_wrprotect to flush the TLB for the huge page correctly.
Gerald Schaefer (1): s390/thp: implement pmdp_set_wrprotect()
arch/s390/include/asm/pgtable.h | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h index c1d7930..098adbb 100644 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h @@ -1365,6 +1365,18 @@ static inline void pmdp_invalidate(struct vm_area_struct *vma, __pmd_idte(address, pmdp); } +#define __HAVE_ARCH_PMDP_SET_WRPROTECT +static inline void pmdp_set_wrprotect(struct mm_struct *mm, + unsigned long address, pmd_t *pmdp) +{ + pmd_t pmd = *pmdp; + + if (pmd_write(pmd)) { + __pmd_idte(address, pmdp); + set_pmd_at(mm, address, pmdp, pmd_wrprotect(pmd)); + } +} + static inline pmd_t mk_pmd_phys(unsigned long physpage, pgprot_t pgprot) { pmd_t __pmd;
| |