|
@@ -449,8 +449,8 @@ __find_combined_index(unsigned long page_idx, unsigned int order)
|
|
* (c) a page and its buddy have the same order &&
|
|
* (c) a page and its buddy have the same order &&
|
|
* (d) a page and its buddy are in the same zone.
|
|
* (d) a page and its buddy are in the same zone.
|
|
*
|
|
*
|
|
- * For recording whether a page is in the buddy system, we use PG_buddy.
|
|
|
|
- * Setting, clearing, and testing PG_buddy is serialized by zone->lock.
|
|
|
|
|
|
+ * For recording whether a page is in the buddy system, we set ->_mapcount -2.
|
|
|
|
+ * Setting, clearing, and testing _mapcount -2 is serialized by zone->lock.
|
|
*
|
|
*
|
|
* For recording page's order, we use page_private(page).
|
|
* For recording page's order, we use page_private(page).
|
|
*/
|
|
*/
|
|
@@ -483,7 +483,7 @@ static inline int page_is_buddy(struct page *page, struct page *buddy,
|
|
* as necessary, plus some accounting needed to play nicely with other
|
|
* as necessary, plus some accounting needed to play nicely with other
|
|
* parts of the VM system.
|
|
* parts of the VM system.
|
|
* At each level, we keep a list of pages, which are heads of continuous
|
|
* At each level, we keep a list of pages, which are heads of continuous
|
|
- * free pages of length of (1 << order) and marked with PG_buddy. Page's
|
|
|
|
|
|
+ * free pages of length of (1 << order) and marked with _mapcount -2. Page's
|
|
* order is recorded in page_private(page) field.
|
|
* order is recorded in page_private(page) field.
|
|
* So when we are allocating or freeing one, we can derive the state of the
|
|
* So when we are allocating or freeing one, we can derive the state of the
|
|
* other. That is, if we allocate a small block, and both were
|
|
* other. That is, if we allocate a small block, and both were
|
|
@@ -5574,7 +5574,6 @@ static struct trace_print_flags pageflag_names[] = {
|
|
{1UL << PG_swapcache, "swapcache" },
|
|
{1UL << PG_swapcache, "swapcache" },
|
|
{1UL << PG_mappedtodisk, "mappedtodisk" },
|
|
{1UL << PG_mappedtodisk, "mappedtodisk" },
|
|
{1UL << PG_reclaim, "reclaim" },
|
|
{1UL << PG_reclaim, "reclaim" },
|
|
- {1UL << PG_buddy, "buddy" },
|
|
|
|
{1UL << PG_swapbacked, "swapbacked" },
|
|
{1UL << PG_swapbacked, "swapbacked" },
|
|
{1UL << PG_unevictable, "unevictable" },
|
|
{1UL << PG_unevictable, "unevictable" },
|
|
#ifdef CONFIG_MMU
|
|
#ifdef CONFIG_MMU
|