*参照元 [#z9008f04]
#backlinks

*説明 [#z719c29e]
-パス: [[linux-4.4.1/mm/page_alloc.c]]

-FIXME: これは何?
--説明


**引数 [#tb6b2860]
-struct zone *zone
--
--[[linux-4.4.1/zone]]
-unsigned int order
--
-int migratetype
--
-gfp_t gfp_flags
--
--[[linux-4.4.1/gfp_t]]


**返り値 [#g2fc8214]
-struct page *
--
--[[linux-4.4.1/page]]


**参考 [#u697d057]


*実装 [#u62bbc35]
 /*
  * Do the hard work of removing an element from the buddy allocator.
  * Call me with the zone->lock already held.
  */
 static struct page *__rmqueue(struct zone *zone, unsigned int order,
 				int migratetype, gfp_t gfp_flags)
 {
 	struct page *page;
 
 	page = __rmqueue_smallest(zone, order, migratetype);
-
--[[linux-4.4.1/__rmqueue_smallest()]]

 	if (unlikely(!page)) {
 		if (migratetype == MIGRATE_MOVABLE)
 			page = __rmqueue_cma_fallback(zone, order);
 
-
--[[linux-4.4.1/unlikely()]]
--[[linux-4.4.1/MIGRATE_MOVABLE]]
--[[linux-4.4.1/__rmqueue_cma_fallback()]]

 		if (!page)
 			page = __rmqueue_fallback(zone, order, migratetype);
-
--[[linux-4.4.1/__rmqueue_fallback()]]

 	}
 
 	trace_mm_page_alloc_zone_locked(page, order, migratetype);
 	return page;
-
--[[linux-4.4.1/trace_mm_page_alloc_zone_locked()]]

 }


*コメント [#v0579995]



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS