Merge tag 'arc-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
[deliverable/linux.git] / fs / proc / page.c
index b2855eea54050655818a424b850bc4d94d5d8f47..712f1b9992ccba12deaeae38d3b4e7bcfb50297d 100644 (file)
@@ -103,9 +103,9 @@ u64 stable_page_flags(struct page *page)
         * pseudo flags for the well known (anonymous) memory mapped pages
         *
         * Note that page->_mapcount is overloaded in SLOB/SLUB/SLQB, so the
-        * simple test in page_mapcount() is not enough.
+        * simple test in page_mapped() is not enough.
         */
-       if (!PageSlab(page) && page_mapcount(page))
+       if (!PageSlab(page) && page_mapped(page))
                u |= 1 << KPF_MMAP;
        if (PageAnon(page))
                u |= 1 << KPF_ANON;
@@ -148,6 +148,8 @@ u64 stable_page_flags(struct page *page)
         */
        if (PageBuddy(page))
                u |= 1 << KPF_BUDDY;
+       else if (page_count(page) == 0 && is_free_buddy_page(page))
+               u |= 1 << KPF_BUDDY;
 
        if (PageBalloon(page))
                u |= 1 << KPF_BALLOON;
@@ -158,6 +160,8 @@ u64 stable_page_flags(struct page *page)
        u |= kpf_copy_bit(k, KPF_LOCKED,        PG_locked);
 
        u |= kpf_copy_bit(k, KPF_SLAB,          PG_slab);
+       if (PageTail(page) && PageSlab(compound_head(page)))
+               u |= 1 << KPF_SLAB;
 
        u |= kpf_copy_bit(k, KPF_ERROR,         PG_error);
        u |= kpf_copy_bit(k, KPF_DIRTY,         PG_dirty);
This page took 0.026342 seconds and 5 git commands to generate.