mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Martin Schwidefsky: "There are two memory management related changes, the CMMA support for KVM to avoid swap-in of freed pages and the split page table lock for the PMD level. These two come with common code changes in mm/. A fix for the long standing theoretical TLB flush problem, this one comes with a common code change in kernel/sched/. Another set of changes is Heikos uaccess work, included is the initial set of patches with more to come. And fixes and cleanups as usual" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (36 commits) s390/con3270: optionally disable auto update s390/mm: remove unecessary parameter from pgste_ipte_notify s390/mm: remove unnecessary parameter from gmap_do_ipte_notify s390/mm: fixing comment so that parameter name match s390/smp: limit number of cpus in possible cpu mask hypfs: Add clarification for "weight_min" attribute s390: update defconfigs s390/ptrace: add support for PTRACE_SINGLEBLOCK s390/perf: make print_debug_cf() static s390/topology: Remove call to update_cpu_masks() s390/compat: remove compat exec domain s390: select CONFIG_TTY for use of tty in unconditional keyboard driver s390/appldata_os: fix cpu array size calculation s390/checksum: remove memset() within csum_partial_copy_from_user() s390/uaccess: remove copy_from_user_real() s390/sclp_early: Return correct HSA block count also for zero s390: add some drivers/subsystems to the MAINTAINERS file s390: improve debug feature usage s390/airq: add support for irq ranges s390/mm: enable split page table lock for PMD level ...
This commit is contained in:
commit
1f8c538ed6
61 changed files with 944 additions and 428 deletions
|
@ -1487,9 +1487,15 @@ static inline void pgtable_page_dtor(struct page *page)
|
|||
|
||||
#if USE_SPLIT_PMD_PTLOCKS
|
||||
|
||||
static struct page *pmd_to_page(pmd_t *pmd)
|
||||
{
|
||||
unsigned long mask = ~(PTRS_PER_PMD * sizeof(pmd_t) - 1);
|
||||
return virt_to_page((void *)((unsigned long) pmd & mask));
|
||||
}
|
||||
|
||||
static inline spinlock_t *pmd_lockptr(struct mm_struct *mm, pmd_t *pmd)
|
||||
{
|
||||
return ptlock_ptr(virt_to_page(pmd));
|
||||
return ptlock_ptr(pmd_to_page(pmd));
|
||||
}
|
||||
|
||||
static inline bool pgtable_pmd_page_ctor(struct page *page)
|
||||
|
@ -1508,7 +1514,7 @@ static inline void pgtable_pmd_page_dtor(struct page *page)
|
|||
ptlock_free(page);
|
||||
}
|
||||
|
||||
#define pmd_huge_pte(mm, pmd) (virt_to_page(pmd)->pmd_huge_pte)
|
||||
#define pmd_huge_pte(mm, pmd) (pmd_to_page(pmd)->pmd_huge_pte)
|
||||
|
||||
#else
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue