Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\page_isolation.c Create Date:2022-07-28 16:24:49
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:unset_migratetype_isolate

Proto:static void unset_migratetype_isolate(struct page *page, unsigned migratetype)

Type:void

Parameter:

TypeParameterName
struct page *page
unsignedmigratetype
94  bool isolated_page = false
99  zone = page_zone(page)
100  spin_lock_irqsave( & Primarily protects free_area , flags)
101  If Not is_migrate_isolate_page(page) Then Go to out
112  If PageBuddy() indicates that the page is free and in the buddy system* (see mm/page_alloc.c). Then
113  order = page_order(page)
115  pfn = page_to_pfn(page)
117  buddy = page + buddy_pfn - pfn
132  If Not isolated_page Then
133  nr_pages = move_freepages_block(zone, page, migratetype, NULL)
134  __mod_zone_freepage_state(zone, nr_pages, migratetype)
136  set_pageblock_migratetype(page, migratetype)
137  * Number of isolated pageblock. It is used to solve incorrect * freepage counting problem due to racy retrieving migratetype * of pageblock. Protected by zone->lock.--
138  out :
139  spin_unlock_irqrestore( & Primarily protects free_area , flags)
140  If isolated_page Then
141  post_alloc_hook(page, order, ZONE_MOVABLE allowed )
142  __free_pages(page, order)
Caller
NameDescribe
start_isolate_page_rangestart_isolate_page_range() - make page-allocation-type of range of pages to* be MIGRATE_ISOLATE.*@start_pfn: The lower PFN of the range to be isolated.*@end_pfn: The upper PFN of the range to be isolated.
undo_isolate_page_rangeMake isolated pages available again.