Re: [PATCH v4, part3 11/15] mm: use a dedicated lock to protect totalram_pagesand zone->managed_pages

From: Rik van Riel
Date: Mon Apr 08 2013 - 09:40:37 EST


On 04/06/2013 09:55 AM, Jiang Liu wrote:

@@ -5186,6 +5189,22 @@ early_param("movablecore", cmdline_parse_movablecore);

#endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */

+void adjust_managed_page_count(struct page *page, long count)
+{
+ bool lock = (system_state != SYSTEM_BOOTING);
+
+ /* No need to acquire the lock during boot */
+ if (lock)
+ spin_lock(&managed_page_count_lock);
+
+ page_zone(page)->managed_pages += count;
+ totalram_pages += count;
+
+ if (lock)
+ spin_unlock(&managed_page_count_lock);
+}

While I agree the boot code currently does not need the lock, is
there any harm to removing that conditional?

That would simplify the code, and protect against possible future
cleverness of initializing multiple memory things simultaneously.

--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/