From: Joonsoo Kim <[email protected]>

Many developer already know that field for reference count of
the struct page is _count and atomic type. They would try to handle it
directly and this could break the purpose of page reference count
tracepoint. To prevent direct _count modification, this patch rename it
to _refcount and add warning message on the code. After that, developer
who need to handle reference count will find that field should not be
accessed directly.

Signed-off-by: Joonsoo Kim <[email protected]>
---
 include/linux/mm_types.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 944b2b3..9e8eb5a 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -97,7 +97,11 @@ struct page {
                                        };
                                        int units;      /* SLOB */
                                };
-                               atomic_t _count;                /* Usage count, 
see below. */
+                               /*
+                                * Usage count, *USE WRAPPER FUNCTION*
+                                * when manual accounting. See page_ref.h
+                                */
+                               atomic_t _refcount;
                        };
                        unsigned int active;    /* SLAB */
                };
@@ -248,7 +252,7 @@ struct page_frag_cache {
        __u32 offset;
 #endif
        /* we maintain a pagecount bias, so that we dont dirty cache line
-        * containing page->_count every time we allocate a fragment.
+        * containing page->_refcount every time we allocate a fragment.
         */
        unsigned int            pagecnt_bias;
        bool pfmemalloc;
-- 
1.9.1

Reply via email to