]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - include/linux/mm.h
mm/memory_hotplug: export generic_online_page()
[linux.git] / include / linux / mm.h
index f6fb714fa8511965330c469a03dbc03ca32201fe..19a0e687878a48fb7970f3ccf3207f9a7865d5a8 100644 (file)
@@ -564,21 +564,6 @@ int vma_is_stack_for_current(struct vm_area_struct *vma);
 struct mmu_gather;
 struct inode;
 
-#if !defined(CONFIG_ARCH_HAS_PTE_DEVMAP) || !defined(CONFIG_TRANSPARENT_HUGEPAGE)
-static inline int pmd_devmap(pmd_t pmd)
-{
-       return 0;
-}
-static inline int pud_devmap(pud_t pud)
-{
-       return 0;
-}
-static inline int pgd_devmap(pgd_t pgd)
-{
-       return 0;
-}
-#endif
-
 /*
  * FIXME: take this include out, include page-flags.h in
  * files which need it (119 of them)
@@ -1643,19 +1628,27 @@ static inline unsigned long get_mm_counter(struct mm_struct *mm, int member)
        return (unsigned long)val;
 }
 
+void mm_trace_rss_stat(struct mm_struct *mm, int member, long count);
+
 static inline void add_mm_counter(struct mm_struct *mm, int member, long value)
 {
-       atomic_long_add(value, &mm->rss_stat.count[member]);
+       long count = atomic_long_add_return(value, &mm->rss_stat.count[member]);
+
+       mm_trace_rss_stat(mm, member, count);
 }
 
 static inline void inc_mm_counter(struct mm_struct *mm, int member)
 {
-       atomic_long_inc(&mm->rss_stat.count[member]);
+       long count = atomic_long_inc_return(&mm->rss_stat.count[member]);
+
+       mm_trace_rss_stat(mm, member, count);
 }
 
 static inline void dec_mm_counter(struct mm_struct *mm, int member)
 {
-       atomic_long_dec(&mm->rss_stat.count[member]);
+       long count = atomic_long_dec_return(&mm->rss_stat.count[member]);
+
+       mm_trace_rss_stat(mm, member, count);
 }
 
 /* Optimized variant when page is already known not to be PageAnon */
@@ -2780,7 +2773,7 @@ extern int sysctl_memory_failure_early_kill;
 extern int sysctl_memory_failure_recovery;
 extern void shake_page(struct page *p, int access);
 extern atomic_long_t num_poisoned_pages __read_mostly;
-extern int soft_offline_page(struct page *page, int flags);
+extern int soft_offline_page(unsigned long pfn, int flags);
 
 
 /*