Thread (6 messages) 6 messages, 5 authors, 2016-06-16

[PATCH] ARM: mm: Speed up page list initialization during boot

From: Sergey Senozhatsky <hidden>
Date: 2016-06-16 02:18:15
Also in: linux-mm

Possibly related (same subject, not in this thread)

On (01/05/16 18:56), Jungseung Lee wrote:
[..]
quoted
quoted
quoted
quoted
#ifdef CONFIG_HIGHMEM
static inline void free_area_high(unsigned long pfn, unsigned long
end)  {
-      for (; pfn < end; pfn++)
-              free_highmem_page(pfn_to_page(pfn));
+      while (pfn < end) {
+              struct page *page = pfn_to_page(pfn);
+              unsigned long order = min(__ffs(pfn), MAX_ORDER - 1);
+              unsigned long nr_pages = 1 << order;
+              unsigned long rem = end - pfn;
+
+              if (nr_pages > rem) {
+                      order = __fls(rem);
+                      nr_pages = 1 << order;
+              }
+
+              __free_pages_bootmem(page, order);
+              totalram_pages += nr_pages;
+              totalhigh_pages += nr_pages;
+			page_zone(page)->managed_pages += nr_pages;  ???
quoted
quoted
quoted
quoted
+              pfn += nr_pages;
+      }
}
	-ss
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help