Zone padding separates write-intensive fields used by page allocation,
compaction and vmstats but the comments are a little misleading and
need clarification.

Signed-off-by: Mel Gorman <mgor...@techsingularity.net>
---
 include/linux/mmzone.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index d4f5cac0a8c3..edafdaf62e90 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -477,20 +477,21 @@ struct zone {
        unsigned long           wait_table_hash_nr_entries;
        unsigned long           wait_table_bits;
 
+       /* Write-intensive fields used from the page allocator */
        ZONE_PADDING(_pad1_)
+
        /* free areas of different sizes */
        struct free_area        free_area[MAX_ORDER];
 
        /* zone flags, see below */
        unsigned long           flags;
 
-       /* Write-intensive fields used from the page allocator */
+       /* Primarily protects free_area */
        spinlock_t              lock;
 
+       /* Write-intensive fields used by compaction and vmstats. */
        ZONE_PADDING(_pad2_)
 
-       /* Write-intensive fields used by page reclaim */
-
        /*
         * When free pages are below this point, additional steps are taken
         * when reading the number of free pages to avoid per-cpu counter
-- 
2.6.4

Reply via email to