Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5af9c2e1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'akpm' (patches from Andrew)

Merge fixes from Andrew Morton:
 "22 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (22 commits)
  epoll: restrict EPOLLEXCLUSIVE to POLLIN and POLLOUT
  radix-tree: fix oops after radix_tree_iter_retry
  MAINTAINERS: trim the file triggers for ABI/API
  dax: dirty inode only if required
  thp: make deferred_split_scan() work again
  mm: replace vma_lock_anon_vma with anon_vma_lock_read/write
  ocfs2/dlm: clear refmap bit of recovery lock while doing local recovery cleanup
  um: asm/page.h: remove the pte_high member from struct pte_t
  mm, hugetlb: don't require CMA for runtime gigantic pages
  mm/hugetlb: fix gigantic page initialization/allocation
  mm: downgrade VM_BUG in isolate_lru_page() to warning
  mempolicy: do not try to queue pages from !vma_migratable()
  mm, vmstat: fix wrong WQ sleep when memory reclaim doesn't make any progress
  vmstat: make vmstat_update deferrable
  mm, vmstat: make quiet_vmstat lighter
  mm/Kconfig: correct description of DEFERRED_STRUCT_PAGE_INIT
  memblock: don't mark memblock_phys_mem_size() as __init
  dump_stack: avoid potential deadlocks
  mm: validate_mm browse_rb SMP race condition
  m32r: fix build failure due to SMP and MMU
  ...
parents 5d6a6a75 b6a515c8
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -223,9 +223,7 @@ F: drivers/scsi/aacraid/


ABI/API
ABI/API
L:	linux-api@vger.kernel.org
L:	linux-api@vger.kernel.org
F:	Documentation/ABI/
F:	include/linux/syscalls.h
F:	include/linux/syscalls.h
F:	include/uapi/
F:	kernel/sys_ni.c
F:	kernel/sys_ni.c


ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
+1 −0
Original line number Original line Diff line number Diff line
@@ -276,6 +276,7 @@ source "kernel/Kconfig.preempt"


config SMP
config SMP
	bool "Symmetric multi-processing support"
	bool "Symmetric multi-processing support"
	depends on MMU
	---help---
	---help---
	  This enables support for systems with more than one CPU. If you have
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, say N. If you have a system with more
	  a system with only one CPU, say N. If you have a system with more
+10 −13
Original line number Original line Diff line number Diff line
@@ -34,21 +34,18 @@ struct page;


#if defined(CONFIG_3_LEVEL_PGTABLES) && !defined(CONFIG_64BIT)
#if defined(CONFIG_3_LEVEL_PGTABLES) && !defined(CONFIG_64BIT)


typedef struct { unsigned long pte_low, pte_high; } pte_t;
typedef struct { unsigned long pte; } pte_t;
typedef struct { unsigned long pmd; } pmd_t;
typedef struct { unsigned long pmd; } pmd_t;
typedef struct { unsigned long pgd; } pgd_t;
typedef struct { unsigned long pgd; } pgd_t;
#define pte_val(x) ((x).pte_low | ((unsigned long long) (x).pte_high << 32))
#define pte_val(p) ((p).pte)


#define pte_get_bits(pte, bits) ((pte).pte_low & (bits))
#define pte_get_bits(p, bits) ((p).pte & (bits))
#define pte_set_bits(pte, bits) ((pte).pte_low |= (bits))
#define pte_set_bits(p, bits) ((p).pte |= (bits))
#define pte_clear_bits(pte, bits) ((pte).pte_low &= ~(bits))
#define pte_clear_bits(p, bits) ((p).pte &= ~(bits))
#define pte_copy(to, from) ({ (to).pte_high = (from).pte_high; \
#define pte_copy(to, from) ({ (to).pte = (from).pte; })
			      smp_wmb(); \
#define pte_is_zero(p) (!((p).pte & ~_PAGE_NEWPAGE))
			      (to).pte_low = (from).pte_low; })
#define pte_set_val(p, phys, prot) \
#define pte_is_zero(pte) (!((pte).pte_low & ~_PAGE_NEWPAGE) && !(pte).pte_high)
	({ (p).pte = (phys) | pgprot_val(prot); })
#define pte_set_val(pte, phys, prot) \
	({ (pte).pte_high = (phys) >> 32; \
	   (pte).pte_low = (phys) | pgprot_val(prot); })


#define pmd_val(x)	((x).pmd)
#define pmd_val(x)	((x).pmd)
#define __pmd(x) ((pmd_t) { (x) } )
#define __pmd(x) ((pmd_t) { (x) } )
+2 −2
Original line number Original line Diff line number Diff line
@@ -173,10 +173,10 @@ static __init int setup_hugepagesz(char *opt)
}
}
__setup("hugepagesz=", setup_hugepagesz);
__setup("hugepagesz=", setup_hugepagesz);


#ifdef CONFIG_CMA
#if (defined(CONFIG_MEMORY_ISOLATION) && defined(CONFIG_COMPACTION)) || defined(CONFIG_CMA)
static __init int gigantic_pages_init(void)
static __init int gigantic_pages_init(void)
{
{
	/* With CMA we can allocate gigantic pages at runtime */
	/* With compaction or CMA we can allocate gigantic pages at runtime */
	if (cpu_has_gbpages && !size_to_hstate(1UL << PUD_SHIFT))
	if (cpu_has_gbpages && !size_to_hstate(1UL << PUD_SHIFT))
		hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
		hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
	return 0;
	return 0;
+7 −1
Original line number Original line Diff line number Diff line
@@ -1730,6 +1730,12 @@ static int blkdev_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
	return __dax_fault(vma, vmf, blkdev_get_block, NULL);
	return __dax_fault(vma, vmf, blkdev_get_block, NULL);
}
}


static int blkdev_dax_pfn_mkwrite(struct vm_area_struct *vma,
		struct vm_fault *vmf)
{
	return dax_pfn_mkwrite(vma, vmf);
}

static int blkdev_dax_pmd_fault(struct vm_area_struct *vma, unsigned long addr,
static int blkdev_dax_pmd_fault(struct vm_area_struct *vma, unsigned long addr,
		pmd_t *pmd, unsigned int flags)
		pmd_t *pmd, unsigned int flags)
{
{
@@ -1739,7 +1745,7 @@ static int blkdev_dax_pmd_fault(struct vm_area_struct *vma, unsigned long addr,
static const struct vm_operations_struct blkdev_dax_vm_ops = {
static const struct vm_operations_struct blkdev_dax_vm_ops = {
	.fault		= blkdev_dax_fault,
	.fault		= blkdev_dax_fault,
	.pmd_fault	= blkdev_dax_pmd_fault,
	.pmd_fault	= blkdev_dax_pmd_fault,
	.pfn_mkwrite	= blkdev_dax_fault,
	.pfn_mkwrite	= blkdev_dax_pfn_mkwrite,
};
};


static const struct vm_operations_struct blkdev_default_vm_ops = {
static const struct vm_operations_struct blkdev_default_vm_ops = {
Loading