Function report |
Source Code:mm\page_alloc.c |
Create Date:2022-07-28 15:04:37 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Obtain a specified number of elements from the buddy allocator, all under* a single hold of the lock, for efficiency. Add them to the supplied list.* Returns the number of new pages which were placed at *list.
Proto:static int rmqueue_bulk(struct zone *zone, unsigned int order, unsigned long count, struct list_head *list, int migratetype, unsigned int alloc_flags)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct zone * | zone | |
| unsigned int | order | |
| unsigned long | count | |
| struct list_head * | list | |
| int | migratetype | |
| unsigned int | alloc_flags |
| 2738 | alloced = 0 |
| 2740 | spin_lock( & Primarily protects free_area ) |
| 2742 | page = Do the hard work of removing an element from the buddy allocator.* Call me with the zone->lock already held. |
| 2744 | If Value for the false possibility is greater at compile time(page == NULL) Then Break |
| 2761 | alloced++ |
| 2774 | spin_unlock( & Primarily protects free_area ) |
| 2775 | Return alloced |
| Name | Describe |
|---|---|
| __rmqueue_pcplist | Remove page from the per-cpu list, caller must protect the list |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |