diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/pgtable.h | 30 | ||||
-rw-r--r-- | include/linux/cleancache.h | 13 | ||||
-rw-r--r-- | include/linux/cma.h | 12 | ||||
-rw-r--r-- | include/linux/elf-randomize.h | 22 | ||||
-rw-r--r-- | include/linux/gfp.h | 16 | ||||
-rw-r--r-- | include/linux/io.h | 8 | ||||
-rw-r--r-- | include/linux/memblock.h | 8 | ||||
-rw-r--r-- | include/linux/memory_hotplug.h | 6 | ||||
-rw-r--r-- | include/linux/mempool.h | 2 | ||||
-rw-r--r-- | include/linux/migrate.h | 5 | ||||
-rw-r--r-- | include/linux/mm.h | 4 | ||||
-rw-r--r-- | include/linux/mm_types.h | 2 | ||||
-rw-r--r-- | include/linux/nmi.h | 21 | ||||
-rw-r--r-- | include/linux/oom.h | 3 | ||||
-rw-r--r-- | include/linux/page-flags.h | 2 | ||||
-rw-r--r-- | include/linux/slab.h | 2 | ||||
-rw-r--r-- | include/trace/events/xen.h | 2 |
17 files changed, 114 insertions, 44 deletions
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 4d46085c1b90..39f1d6a2b04d 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
@@ -6,6 +6,12 @@ | |||
6 | 6 | ||
7 | #include <linux/mm_types.h> | 7 | #include <linux/mm_types.h> |
8 | #include <linux/bug.h> | 8 | #include <linux/bug.h> |
9 | #include <linux/errno.h> | ||
10 | |||
11 | #if 4 - defined(__PAGETABLE_PUD_FOLDED) - defined(__PAGETABLE_PMD_FOLDED) != \ | ||
12 | CONFIG_PGTABLE_LEVELS | ||
13 | #error CONFIG_PGTABLE_LEVELS is not consistent with __PAGETABLE_{PUD,PMD}_FOLDED | ||
14 | #endif | ||
9 | 15 | ||
10 | /* | 16 | /* |
11 | * On almost all architectures and configurations, 0 can be used as the | 17 | * On almost all architectures and configurations, 0 can be used as the |
@@ -691,6 +697,30 @@ static inline int pmd_protnone(pmd_t pmd) | |||
691 | 697 | ||
692 | #endif /* CONFIG_MMU */ | 698 | #endif /* CONFIG_MMU */ |
693 | 699 | ||
700 | #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP | ||
701 | int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot); | ||
702 | int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot); | ||
703 | int pud_clear_huge(pud_t *pud); | ||
704 | int pmd_clear_huge(pmd_t *pmd); | ||
705 | #else /* !CONFIG_HAVE_ARCH_HUGE_VMAP */ | ||
706 | static inline int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot) | ||
707 | { | ||
708 | return 0; | ||
709 | } | ||
710 | static inline int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot) | ||
711 | { | ||
712 | return 0; | ||
713 | } | ||
714 | static inline int pud_clear_huge(pud_t *pud) | ||
715 | { | ||
716 | return 0; | ||
717 | } | ||
718 | static inline int pmd_clear_huge(pmd_t *pmd) | ||
719 | { | ||
720 | return 0; | ||
721 | } | ||
722 | #endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */ | ||
723 | |||
694 | #endif /* !__ASSEMBLY__ */ | 724 | #endif /* !__ASSEMBLY__ */ |
695 | 725 | ||
696 | #ifndef io_remap_pfn_range | 726 | #ifndef io_remap_pfn_range |
diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h index 4ce9056b31a8..bda5ec0b4b4d 100644 --- a/include/linux/cleancache.h +++ b/include/linux/cleancache.h | |||
@@ -5,6 +5,10 @@ | |||
5 | #include <linux/exportfs.h> | 5 | #include <linux/exportfs.h> |
6 | #include <linux/mm.h> | 6 | #include <linux/mm.h> |
7 | 7 | ||
8 | #define CLEANCACHE_NO_POOL -1 | ||
9 | #define CLEANCACHE_NO_BACKEND -2 | ||
10 | #define CLEANCACHE_NO_BACKEND_SHARED -3 | ||
11 | |||
8 | #define CLEANCACHE_KEY_MAX 6 | 12 | #define CLEANCACHE_KEY_MAX 6 |
9 | 13 | ||
10 | /* | 14 | /* |
@@ -33,10 +37,9 @@ struct cleancache_ops { | |||
33 | void (*invalidate_fs)(int); | 37 | void (*invalidate_fs)(int); |
34 | }; | 38 | }; |
35 | 39 | ||
36 | extern struct cleancache_ops * | 40 | extern int cleancache_register_ops(struct cleancache_ops *ops); |
37 | cleancache_register_ops(struct cleancache_ops *ops); | ||
38 | extern void __cleancache_init_fs(struct super_block *); | 41 | extern void __cleancache_init_fs(struct super_block *); |
39 | extern void __cleancache_init_shared_fs(char *, struct super_block *); | 42 | extern void __cleancache_init_shared_fs(struct super_block *); |
40 | extern int __cleancache_get_page(struct page *); | 43 | extern int __cleancache_get_page(struct page *); |
41 | extern void __cleancache_put_page(struct page *); | 44 | extern void __cleancache_put_page(struct page *); |
42 | extern void __cleancache_invalidate_page(struct address_space *, struct page *); | 45 | extern void __cleancache_invalidate_page(struct address_space *, struct page *); |
@@ -78,10 +81,10 @@ static inline void cleancache_init_fs(struct super_block *sb) | |||
78 | __cleancache_init_fs(sb); | 81 | __cleancache_init_fs(sb); |
79 | } | 82 | } |
80 | 83 | ||
81 | static inline void cleancache_init_shared_fs(char *uuid, struct super_block *sb) | 84 | static inline void cleancache_init_shared_fs(struct super_block *sb) |
82 | { | 85 | { |
83 | if (cleancache_enabled) | 86 | if (cleancache_enabled) |
84 | __cleancache_init_shared_fs(uuid, sb); | 87 | __cleancache_init_shared_fs(sb); |
85 | } | 88 | } |
86 | 89 | ||
87 | static inline int cleancache_get_page(struct page *page) | 90 | static inline int cleancache_get_page(struct page *page) |
diff --git a/include/linux/cma.h b/include/linux/cma.h index 9384ba66e975..f7ef093ec49a 100644 --- a/include/linux/cma.h +++ b/include/linux/cma.h | |||
@@ -16,16 +16,16 @@ | |||
16 | struct cma; | 16 | struct cma; |
17 | 17 | ||
18 | extern unsigned long totalcma_pages; | 18 | extern unsigned long totalcma_pages; |
19 | extern phys_addr_t cma_get_base(struct cma *cma); | 19 | extern phys_addr_t cma_get_base(const struct cma *cma); |
20 | extern unsigned long cma_get_size(struct cma *cma); | 20 | extern unsigned long cma_get_size(const struct cma *cma); |
21 | 21 | ||
22 | extern int __init cma_declare_contiguous(phys_addr_t base, | 22 | extern int __init cma_declare_contiguous(phys_addr_t base, |
23 | phys_addr_t size, phys_addr_t limit, | 23 | phys_addr_t size, phys_addr_t limit, |
24 | phys_addr_t alignment, unsigned int order_per_bit, | 24 | phys_addr_t alignment, unsigned int order_per_bit, |
25 | bool fixed, struct cma **res_cma); | 25 | bool fixed, struct cma **res_cma); |
26 | extern int cma_init_reserved_mem(phys_addr_t base, | 26 | extern int cma_init_reserved_mem(phys_addr_t base, phys_addr_t size, |
27 | phys_addr_t size, int order_per_bit, | 27 | unsigned int order_per_bit, |
28 | struct cma **res_cma); | 28 | struct cma **res_cma); |
29 | extern struct page *cma_alloc(struct cma *cma, int count, unsigned int align); | 29 | extern struct page *cma_alloc(struct cma *cma, unsigned int count, unsigned int align); |
30 | extern bool cma_release(struct cma *cma, struct page *pages, int count); | 30 | extern bool cma_release(struct cma *cma, const struct page *pages, unsigned int count); |
31 | #endif | 31 | #endif |
diff --git a/include/linux/elf-randomize.h b/include/linux/elf-randomize.h new file mode 100644 index 000000000000..b5f0bda9472e --- /dev/null +++ b/include/linux/elf-randomize.h | |||
@@ -0,0 +1,22 @@ | |||
1 | #ifndef _ELF_RANDOMIZE_H | ||
2 | #define _ELF_RANDOMIZE_H | ||
3 | |||
4 | struct mm_struct; | ||
5 | |||
6 | #ifndef CONFIG_ARCH_HAS_ELF_RANDOMIZE | ||
7 | static inline unsigned long arch_mmap_rnd(void) { return 0; } | ||
8 | # if defined(arch_randomize_brk) && defined(CONFIG_COMPAT_BRK) | ||
9 | # define compat_brk_randomized | ||
10 | # endif | ||
11 | # ifndef arch_randomize_brk | ||
12 | # define arch_randomize_brk(mm) (mm->brk) | ||
13 | # endif | ||
14 | #else | ||
15 | extern unsigned long arch_mmap_rnd(void); | ||
16 | extern unsigned long arch_randomize_brk(struct mm_struct *mm); | ||
17 | # ifdef CONFIG_COMPAT_BRK | ||
18 | # define compat_brk_randomized | ||
19 | # endif | ||
20 | #endif | ||
21 | |||
22 | #endif | ||
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 51bd1e72a917..97a9373e61e8 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h | |||
@@ -57,8 +57,10 @@ struct vm_area_struct; | |||
57 | * _might_ fail. This depends upon the particular VM implementation. | 57 | * _might_ fail. This depends upon the particular VM implementation. |
58 | * | 58 | * |
59 | * __GFP_NOFAIL: The VM implementation _must_ retry infinitely: the caller | 59 | * __GFP_NOFAIL: The VM implementation _must_ retry infinitely: the caller |
60 | * cannot handle allocation failures. This modifier is deprecated and no new | 60 | * cannot handle allocation failures. New users should be evaluated carefully |
61 | * users should be added. | 61 | * (and the flag should be used only when there is no reasonable failure policy) |
62 | * but it is definitely preferable to use the flag rather than opencode endless | ||
63 | * loop around allocator. | ||
62 | * | 64 | * |
63 | * __GFP_NORETRY: The VM implementation must not retry indefinitely. | 65 | * __GFP_NORETRY: The VM implementation must not retry indefinitely. |
64 | * | 66 | * |
@@ -117,16 +119,6 @@ struct vm_area_struct; | |||
117 | __GFP_NOMEMALLOC | __GFP_NORETRY | __GFP_NOWARN | \ | 119 | __GFP_NOMEMALLOC | __GFP_NORETRY | __GFP_NOWARN | \ |
118 | __GFP_NO_KSWAPD) | 120 | __GFP_NO_KSWAPD) |
119 | 121 | ||
120 | /* | ||
121 | * GFP_THISNODE does not perform any reclaim, you most likely want to | ||
122 | * use __GFP_THISNODE to allocate from a given node without fallback! | ||
123 | */ | ||
124 | #ifdef CONFIG_NUMA | ||
125 | #define GFP_THISNODE (__GFP_THISNODE | __GFP_NOWARN | __GFP_NORETRY) | ||
126 | #else | ||
127 | #define GFP_THISNODE ((__force gfp_t)0) | ||
128 | #endif | ||
129 | |||
130 | /* This mask makes up all the page movable related flags */ | 122 | /* This mask makes up all the page movable related flags */ |
131 | #define GFP_MOVABLE_MASK (__GFP_RECLAIMABLE|__GFP_MOVABLE) | 123 | #define GFP_MOVABLE_MASK (__GFP_RECLAIMABLE|__GFP_MOVABLE) |
132 | 124 | ||
diff --git a/include/linux/io.h b/include/linux/io.h index fa02e55e5a2e..4cc299c598e0 100644 --- a/include/linux/io.h +++ b/include/linux/io.h | |||
@@ -38,6 +38,14 @@ static inline int ioremap_page_range(unsigned long addr, unsigned long end, | |||
38 | } | 38 | } |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP | ||
42 | void __init ioremap_huge_init(void); | ||
43 | int arch_ioremap_pud_supported(void); | ||
44 | int arch_ioremap_pmd_supported(void); | ||
45 | #else | ||
46 | static inline void ioremap_huge_init(void) { } | ||
47 | #endif | ||
48 | |||
41 | /* | 49 | /* |
42 | * Managed iomap interface | 50 | * Managed iomap interface |
43 | */ | 51 | */ |
diff --git a/include/linux/memblock.h b/include/linux/memblock.h index e8cc45307f8f..9497ec7c77ea 100644 --- a/include/linux/memblock.h +++ b/include/linux/memblock.h | |||
@@ -365,6 +365,14 @@ static inline unsigned long memblock_region_reserved_end_pfn(const struct memblo | |||
365 | #define __initdata_memblock | 365 | #define __initdata_memblock |
366 | #endif | 366 | #endif |
367 | 367 | ||
368 | #ifdef CONFIG_MEMTEST | ||
369 | extern void early_memtest(phys_addr_t start, phys_addr_t end); | ||
370 | #else | ||
371 | static inline void early_memtest(phys_addr_t start, phys_addr_t end) | ||
372 | { | ||
373 | } | ||
374 | #endif | ||
375 | |||
368 | #else | 376 | #else |
369 | static inline phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align) | 377 | static inline phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align) |
370 | { | 378 | { |
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h index 8f1a41951df9..6ffa0ac7f7d6 100644 --- a/include/linux/memory_hotplug.h +++ b/include/linux/memory_hotplug.h | |||
@@ -192,6 +192,9 @@ extern void get_page_bootmem(unsigned long ingo, struct page *page, | |||
192 | void get_online_mems(void); | 192 | void get_online_mems(void); |
193 | void put_online_mems(void); | 193 | void put_online_mems(void); |
194 | 194 | ||
195 | void mem_hotplug_begin(void); | ||
196 | void mem_hotplug_done(void); | ||
197 | |||
195 | #else /* ! CONFIG_MEMORY_HOTPLUG */ | 198 | #else /* ! CONFIG_MEMORY_HOTPLUG */ |
196 | /* | 199 | /* |
197 | * Stub functions for when hotplug is off | 200 | * Stub functions for when hotplug is off |
@@ -231,6 +234,9 @@ static inline int try_online_node(int nid) | |||
231 | static inline void get_online_mems(void) {} | 234 | static inline void get_online_mems(void) {} |
232 | static inline void put_online_mems(void) {} | 235 | static inline void put_online_mems(void) {} |
233 | 236 | ||
237 | static inline void mem_hotplug_begin(void) {} | ||
238 | static inline void mem_hotplug_done(void) {} | ||
239 | |||
234 | #endif /* ! CONFIG_MEMORY_HOTPLUG */ | 240 | #endif /* ! CONFIG_MEMORY_HOTPLUG */ |
235 | 241 | ||
236 | #ifdef CONFIG_MEMORY_HOTREMOVE | 242 | #ifdef CONFIG_MEMORY_HOTREMOVE |
diff --git a/include/linux/mempool.h b/include/linux/mempool.h index 39ed62ab5b8a..b19b3023c880 100644 --- a/include/linux/mempool.h +++ b/include/linux/mempool.h | |||
@@ -29,7 +29,7 @@ extern mempool_t *mempool_create_node(int min_nr, mempool_alloc_t *alloc_fn, | |||
29 | mempool_free_t *free_fn, void *pool_data, | 29 | mempool_free_t *free_fn, void *pool_data, |
30 | gfp_t gfp_mask, int nid); | 30 | gfp_t gfp_mask, int nid); |
31 | 31 | ||
32 | extern int mempool_resize(mempool_t *pool, int new_min_nr, gfp_t gfp_mask); | 32 | extern int mempool_resize(mempool_t *pool, int new_min_nr); |
33 | extern void mempool_destroy(mempool_t *pool); | 33 | extern void mempool_destroy(mempool_t *pool); |
34 | extern void * mempool_alloc(mempool_t *pool, gfp_t gfp_mask); | 34 | extern void * mempool_alloc(mempool_t *pool, gfp_t gfp_mask); |
35 | extern void mempool_free(void *element, mempool_t *pool); | 35 | extern void mempool_free(void *element, mempool_t *pool); |
diff --git a/include/linux/migrate.h b/include/linux/migrate.h index 78baed5f2952..cac1c0904d5f 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h | |||
@@ -69,7 +69,6 @@ static inline int migrate_huge_page_move_mapping(struct address_space *mapping, | |||
69 | extern bool pmd_trans_migrating(pmd_t pmd); | 69 | extern bool pmd_trans_migrating(pmd_t pmd); |
70 | extern int migrate_misplaced_page(struct page *page, | 70 | extern int migrate_misplaced_page(struct page *page, |
71 | struct vm_area_struct *vma, int node); | 71 | struct vm_area_struct *vma, int node); |
72 | extern bool migrate_ratelimited(int node); | ||
73 | #else | 72 | #else |
74 | static inline bool pmd_trans_migrating(pmd_t pmd) | 73 | static inline bool pmd_trans_migrating(pmd_t pmd) |
75 | { | 74 | { |
@@ -80,10 +79,6 @@ static inline int migrate_misplaced_page(struct page *page, | |||
80 | { | 79 | { |
81 | return -EAGAIN; /* can't migrate now */ | 80 | return -EAGAIN; /* can't migrate now */ |
82 | } | 81 | } |
83 | static inline bool migrate_ratelimited(int node) | ||
84 | { | ||
85 | return false; | ||
86 | } | ||
87 | #endif /* CONFIG_NUMA_BALANCING */ | 82 | #endif /* CONFIG_NUMA_BALANCING */ |
88 | 83 | ||
89 | #if defined(CONFIG_NUMA_BALANCING) && defined(CONFIG_TRANSPARENT_HUGEPAGE) | 84 | #if defined(CONFIG_NUMA_BALANCING) && defined(CONFIG_TRANSPARENT_HUGEPAGE) |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 47a93928b90f..6571dd78e984 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -1294,9 +1294,11 @@ int __set_page_dirty_no_writeback(struct page *page); | |||
1294 | int redirty_page_for_writepage(struct writeback_control *wbc, | 1294 | int redirty_page_for_writepage(struct writeback_control *wbc, |
1295 | struct page *page); | 1295 | struct page *page); |
1296 | void account_page_dirtied(struct page *page, struct address_space *mapping); | 1296 | void account_page_dirtied(struct page *page, struct address_space *mapping); |
1297 | void account_page_cleaned(struct page *page, struct address_space *mapping); | ||
1297 | int set_page_dirty(struct page *page); | 1298 | int set_page_dirty(struct page *page); |
1298 | int set_page_dirty_lock(struct page *page); | 1299 | int set_page_dirty_lock(struct page *page); |
1299 | int clear_page_dirty_for_io(struct page *page); | 1300 | int clear_page_dirty_for_io(struct page *page); |
1301 | |||
1300 | int get_cmdline(struct task_struct *task, char *buffer, int buflen); | 1302 | int get_cmdline(struct task_struct *task, char *buffer, int buflen); |
1301 | 1303 | ||
1302 | /* Is the vma a continuation of the stack vma above it? */ | 1304 | /* Is the vma a continuation of the stack vma above it? */ |
@@ -2109,7 +2111,7 @@ static inline struct page *follow_page(struct vm_area_struct *vma, | |||
2109 | #define FOLL_FORCE 0x10 /* get_user_pages read/write w/o permission */ | 2111 | #define FOLL_FORCE 0x10 /* get_user_pages read/write w/o permission */ |
2110 | #define FOLL_NOWAIT 0x20 /* if a disk transfer is needed, start the IO | 2112 | #define FOLL_NOWAIT 0x20 /* if a disk transfer is needed, start the IO |
2111 | * and return without waiting upon it */ | 2113 | * and return without waiting upon it */ |
2112 | #define FOLL_MLOCK 0x40 /* mark page as mlocked */ | 2114 | #define FOLL_POPULATE 0x40 /* fault in page */ |
2113 | #define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */ | 2115 | #define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */ |
2114 | #define FOLL_HWPOISON 0x100 /* check page is hwpoisoned */ | 2116 | #define FOLL_HWPOISON 0x100 /* check page is hwpoisoned */ |
2115 | #define FOLL_NUMA 0x200 /* force NUMA hinting page fault */ | 2117 | #define FOLL_NUMA 0x200 /* force NUMA hinting page fault */ |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 199a03aab8dc..590630eb59ba 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
@@ -364,7 +364,9 @@ struct mm_struct { | |||
364 | atomic_t mm_users; /* How many users with user space? */ | 364 | atomic_t mm_users; /* How many users with user space? */ |
365 | atomic_t mm_count; /* How many references to "struct mm_struct" (users count as 1) */ | 365 | atomic_t mm_count; /* How many references to "struct mm_struct" (users count as 1) */ |
366 | atomic_long_t nr_ptes; /* PTE page table pages */ | 366 | atomic_long_t nr_ptes; /* PTE page table pages */ |
367 | #if CONFIG_PGTABLE_LEVELS > 2 | ||
367 | atomic_long_t nr_pmds; /* PMD page table pages */ | 368 | atomic_long_t nr_pmds; /* PMD page table pages */ |
369 | #endif | ||
368 | int map_count; /* number of VMAs */ | 370 | int map_count; /* number of VMAs */ |
369 | 371 | ||
370 | spinlock_t page_table_lock; /* Protects page tables and some counters */ | 372 | spinlock_t page_table_lock; /* Protects page tables and some counters */ |
diff --git a/include/linux/nmi.h b/include/linux/nmi.h index 9b2022ab4d85..3d46fb4708e0 100644 --- a/include/linux/nmi.h +++ b/include/linux/nmi.h | |||
@@ -25,16 +25,11 @@ static inline void touch_nmi_watchdog(void) | |||
25 | #endif | 25 | #endif |
26 | 26 | ||
27 | #if defined(CONFIG_HARDLOCKUP_DETECTOR) | 27 | #if defined(CONFIG_HARDLOCKUP_DETECTOR) |
28 | extern void watchdog_enable_hardlockup_detector(bool val); | 28 | extern void hardlockup_detector_disable(void); |
29 | extern bool watchdog_hardlockup_detector_is_enabled(void); | ||
30 | #else | 29 | #else |
31 | static inline void watchdog_enable_hardlockup_detector(bool val) | 30 | static inline void hardlockup_detector_disable(void) |
32 | { | 31 | { |
33 | } | 32 | } |
34 | static inline bool watchdog_hardlockup_detector_is_enabled(void) | ||
35 | { | ||
36 | return true; | ||
37 | } | ||
38 | #endif | 33 | #endif |
39 | 34 | ||
40 | /* | 35 | /* |
@@ -68,12 +63,20 @@ static inline bool trigger_allbutself_cpu_backtrace(void) | |||
68 | #ifdef CONFIG_LOCKUP_DETECTOR | 63 | #ifdef CONFIG_LOCKUP_DETECTOR |
69 | int hw_nmi_is_cpu_stuck(struct pt_regs *); | 64 | int hw_nmi_is_cpu_stuck(struct pt_regs *); |
70 | u64 hw_nmi_get_sample_period(int watchdog_thresh); | 65 | u64 hw_nmi_get_sample_period(int watchdog_thresh); |
66 | extern int nmi_watchdog_enabled; | ||
67 | extern int soft_watchdog_enabled; | ||
71 | extern int watchdog_user_enabled; | 68 | extern int watchdog_user_enabled; |
72 | extern int watchdog_thresh; | 69 | extern int watchdog_thresh; |
73 | extern int sysctl_softlockup_all_cpu_backtrace; | 70 | extern int sysctl_softlockup_all_cpu_backtrace; |
74 | struct ctl_table; | 71 | struct ctl_table; |
75 | extern int proc_dowatchdog(struct ctl_table *, int , | 72 | extern int proc_watchdog(struct ctl_table *, int , |
76 | void __user *, size_t *, loff_t *); | 73 | void __user *, size_t *, loff_t *); |
74 | extern int proc_nmi_watchdog(struct ctl_table *, int , | ||
75 | void __user *, size_t *, loff_t *); | ||
76 | extern int proc_soft_watchdog(struct ctl_table *, int , | ||
77 | void __user *, size_t *, loff_t *); | ||
78 | extern int proc_watchdog_thresh(struct ctl_table *, int , | ||
79 | void __user *, size_t *, loff_t *); | ||
77 | #endif | 80 | #endif |
78 | 81 | ||
79 | #ifdef CONFIG_HAVE_ACPI_APEI_NMI | 82 | #ifdef CONFIG_HAVE_ACPI_APEI_NMI |
diff --git a/include/linux/oom.h b/include/linux/oom.h index d5771bed59c9..44b2f6f7bbd8 100644 --- a/include/linux/oom.h +++ b/include/linux/oom.h | |||
@@ -66,7 +66,8 @@ extern bool oom_zonelist_trylock(struct zonelist *zonelist, gfp_t gfp_flags); | |||
66 | extern void oom_zonelist_unlock(struct zonelist *zonelist, gfp_t gfp_flags); | 66 | extern void oom_zonelist_unlock(struct zonelist *zonelist, gfp_t gfp_flags); |
67 | 67 | ||
68 | extern void check_panic_on_oom(enum oom_constraint constraint, gfp_t gfp_mask, | 68 | extern void check_panic_on_oom(enum oom_constraint constraint, gfp_t gfp_mask, |
69 | int order, const nodemask_t *nodemask); | 69 | int order, const nodemask_t *nodemask, |
70 | struct mem_cgroup *memcg); | ||
70 | 71 | ||
71 | extern enum oom_scan_t oom_scan_process_thread(struct task_struct *task, | 72 | extern enum oom_scan_t oom_scan_process_thread(struct task_struct *task, |
72 | unsigned long totalpages, const nodemask_t *nodemask, | 73 | unsigned long totalpages, const nodemask_t *nodemask, |
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 5ed7bdaf22d5..c851ff92d5b3 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
@@ -328,8 +328,6 @@ static inline void SetPageUptodate(struct page *page) | |||
328 | 328 | ||
329 | CLEARPAGEFLAG(Uptodate, uptodate) | 329 | CLEARPAGEFLAG(Uptodate, uptodate) |
330 | 330 | ||
331 | extern void cancel_dirty_page(struct page *page, unsigned int account_size); | ||
332 | |||
333 | int test_clear_page_writeback(struct page *page); | 331 | int test_clear_page_writeback(struct page *page); |
334 | int __test_set_page_writeback(struct page *page, bool keep_write); | 332 | int __test_set_page_writeback(struct page *page, bool keep_write); |
335 | 333 | ||
diff --git a/include/linux/slab.h b/include/linux/slab.h index 76f1feeabd38..ffd24c830151 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | /* | 19 | /* |
20 | * Flags to pass to kmem_cache_create(). | 20 | * Flags to pass to kmem_cache_create(). |
21 | * The ones marked DEBUG are only valid if CONFIG_SLAB_DEBUG is set. | 21 | * The ones marked DEBUG are only valid if CONFIG_DEBUG_SLAB is set. |
22 | */ | 22 | */ |
23 | #define SLAB_DEBUG_FREE 0x00000100UL /* DEBUG: Perform (expensive) checks on free */ | 23 | #define SLAB_DEBUG_FREE 0x00000100UL /* DEBUG: Perform (expensive) checks on free */ |
24 | #define SLAB_RED_ZONE 0x00000400UL /* DEBUG: Red zone objs in a cache */ | 24 | #define SLAB_RED_ZONE 0x00000400UL /* DEBUG: Red zone objs in a cache */ |
diff --git a/include/trace/events/xen.h b/include/trace/events/xen.h index d06b6da5c1e3..bce990f5a35d 100644 --- a/include/trace/events/xen.h +++ b/include/trace/events/xen.h | |||
@@ -224,7 +224,7 @@ TRACE_EVENT(xen_mmu_pmd_clear, | |||
224 | TP_printk("pmdp %p", __entry->pmdp) | 224 | TP_printk("pmdp %p", __entry->pmdp) |
225 | ); | 225 | ); |
226 | 226 | ||
227 | #if PAGETABLE_LEVELS >= 4 | 227 | #if CONFIG_PGTABLE_LEVELS >= 4 |
228 | 228 | ||
229 | TRACE_EVENT(xen_mmu_set_pud, | 229 | TRACE_EVENT(xen_mmu_set_pud, |
230 | TP_PROTO(pud_t *pudp, pud_t pudval), | 230 | TP_PROTO(pud_t *pudp, pud_t pudval), |