* Write access to present_pages at runtime should be protected by
         * mem_hotplug_begin/end(). Any reader who can't tolerant drift of
         * present_pages should get_online_mems() to get a stable value.
-        *
-        * Read access to managed_pages should be safe because it's unsigned
-        * long. Write access to zone->managed_pages and totalram_pages are
-        * protected by managed_page_count_lock at runtime. Idealy only
-        * adjust_managed_page_count() should be used instead of directly
-        * touching zone->managed_pages and totalram_pages.
         */
        atomic_long_t           managed_pages;
        unsigned long           spanned_pages;
 
 };
 EXPORT_SYMBOL(node_states);
 
-/* Protect totalram_pages and zone->managed_pages */
-static DEFINE_SPINLOCK(managed_page_count_lock);
-
 atomic_long_t _totalram_pages __read_mostly;
 EXPORT_SYMBOL(_totalram_pages);
 unsigned long totalreserve_pages __read_mostly;
 
 void adjust_managed_page_count(struct page *page, long count)
 {
-       spin_lock(&managed_page_count_lock);
        atomic_long_add(count, &page_zone(page)->managed_pages);
        totalram_pages_add(count);
 #ifdef CONFIG_HIGHMEM
        if (PageHighMem(page))
                totalhigh_pages_add(count);
 #endif
-       spin_unlock(&managed_page_count_lock);
 }
 EXPORT_SYMBOL(adjust_managed_page_count);