|
@@ -143,9 +143,11 @@ isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
|
- * function for dealing with page's order in buddy system.
|
|
|
- * zone->lock is already acquired when we use these.
|
|
|
- * So, we don't need atomic page->flags operations here.
|
|
|
+ * This function returns the order of a free page in the buddy system. In
|
|
|
+ * general, page_zone(page)->lock must be held by the caller to prevent the
|
|
|
+ * page from being allocated in parallel and returning garbage as the order.
|
|
|
+ * If a caller does not hold page_zone(page)->lock, it must guarantee that the
|
|
|
+ * page cannot be allocated or merged in parallel.
|
|
|
*/
|
|
|
static inline unsigned long page_order(struct page *page)
|
|
|
{
|