Skip to contentSkip to conversation

repetitive reinitialization of active_list and inactive_list in free_area_init_core()

PATCH William Lee Irwin III 1 participant 1 message Jun 2, 2002

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

inactive_list and active_list are global, yet they are repeatedly initialized using INIT_LIST_HEAD() in free_area_init_core(). This patch is originally due to Christoph Hellwig, and by some reports has been implementated before in 2.4-based trees by Andrea Arcangeli.

Against 2.5.19.

===== mm/page_alloc.c 1.63 vs edited =====

mm/page_alloc.c +2 -5
@@ -27,8 +27,8 @@
 unsigned long totalram_pages;
 unsigned long totalhigh_pages;
 int nr_swap_pages;
-struct list_head inactive_list;
-struct list_head active_list;
+LIST_HEAD(active_list);
+LIST_HEAD(inactive_list);
 pg_data_t *pgdat_list;
 
 /* Used to look up the address of the struct zone encoded in page->zone */
@@ -826,9 +826,6 @@
 			realtotalpages -= zholes_size[i];
 			
 	printk("On node %d totalpages: %lu\n", nid, realtotalpages);
-
-	INIT_LIST_HEAD(&active_list);
-	INIT_LIST_HEAD(&inactive_list);
 
 	/*
 	 * Some architectures (with lots of mem and discontinous memory