File tree Expand file tree Collapse file tree 1 file changed +3
-13
lines changed Expand file tree Collapse file tree 1 file changed +3
-13
lines changed Original file line number Diff line number Diff line change @@ -73,8 +73,6 @@ static void __init setup_zero_pages(void)
73
73
{
74
74
unsigned long total_pages = memblock_estimated_nr_free_pages ();
75
75
unsigned int order ;
76
- struct page * page ;
77
- int i ;
78
76
79
77
/* Latest machines require a mapping granularity of 512KB */
80
78
order = 7 ;
@@ -83,16 +81,7 @@ static void __init setup_zero_pages(void)
83
81
while (order > 2 && (total_pages >> 10 ) < (1UL << order ))
84
82
order -- ;
85
83
86
- empty_zero_page = __get_free_pages (GFP_KERNEL | __GFP_ZERO , order );
87
- if (!empty_zero_page )
88
- panic ("Out of memory in setup_zero_pages" );
89
-
90
- page = virt_to_page ((void * ) empty_zero_page );
91
- split_page (page , order );
92
- for (i = 1 << order ; i > 0 ; i -- ) {
93
- mark_page_reserved (page );
94
- page ++ ;
95
- }
84
+ empty_zero_page = (unsigned long )memblock_alloc_or_panic (PAGE_SIZE << order , PAGE_SIZE );
96
85
97
86
zero_page_mask = ((PAGE_SIZE << order ) - 1 ) & PAGE_MASK ;
98
87
}
@@ -176,9 +165,10 @@ void __init mem_init(void)
176
165
pv_init ();
177
166
kfence_split_mapping ();
178
167
168
+ setup_zero_pages (); /* Setup zeroed pages. */
169
+
179
170
/* this will put all low memory onto the freelists */
180
171
memblock_free_all ();
181
- setup_zero_pages (); /* Setup zeroed pages. */
182
172
}
183
173
184
174
unsigned long memory_block_size_bytes (void )
You can’t perform that action at this time.
0 commit comments