Linux Kernel Architecture
Chapter3:MemoryManagement ThecallisframedbycodethatsetstheabovePF_MEMALLOCflag. It may be necessary for try_to_free_pagesto allo ...
Chapter3:MemoryManagement goto nopage; } out_of_memory(zonelist, gfp_mask, order); goto restart; } Without going into the detail ...
Chapter3:MemoryManagement If this is not the case, the kernel gives up and can do nothing more than return aNULLpointer to the u ...
Chapter3:MemoryManagement migrate list from the allocation flags. The previously introduced functionallocflags_to_migratetype (s ...
Chapter3:MemoryManagement type are added to the cache, and one page is removed from the per-CPU list and processed further below ...
Chapter3:MemoryManagement ❑ If__GFP_ZEROis set,prep_zero_pagefills the page with zero bytes using an efficient, architecture-spe ...
Chapter3:MemoryManagement { struct page *page; page = __rmqueue_smallest(zone, order, migratetype); if (unlikely(!page)) page = ...
Chapter3:MemoryManagement Checking for a suitable chunk of memory is very simple: If an element is present in the examined list, ...
Chapter3:MemoryManagement (calculated bysize >> 1). The front half of the initial area is inserted in thefree_arealist for ...
Chapter3:MemoryManagement The kernel always uses the migrate-type-specificfree_arealist and does not change the migrate type of ...
Chapter3:MemoryManagement Recall that migrate lists are the basis for the page mobility approach that is used to keep memory fra ...
Chapter3:MemoryManagement rmv_page_order(page); __mod_zone_page_state(zone, NR_FREE_PAGES, -(1UL << order)); ... expand(zo ...
Chapter3:MemoryManagement If the lazy coalescing limit is not exceeded, the page is simply kept on the per-CPU cache. However, i ...
Chapter3:MemoryManagement ... if (PageBuddy(buddy) && page_order(buddy) == order) { return 1; } return 0; } If the first ...
Chapter3:MemoryManagement The routine tries to free a page group of orderorder. Because it is possible not only that the current ...
Chapter3:MemoryManagement The loop continues until the order 4. This page group cannot be merged with its buddy because the budd ...
Chapter3:MemoryManagement should be reported by a system error message rather than allowing the data of other kernel parts to be ...
Chapter3:MemoryManagement There is an instance of the structure in kernel memory for each area allocated withvmalloc.Themeanings ...
Chapter3:MemoryManagement Creating avm_area Before a new virtual memory area can be created, it isnecessary to find a suitable l ...
Chapter3:MemoryManagement if (addr > end - size) goto out; } ... The kernel finds a suitable position ifsize+addris less than ...
«
9
10
11
12
13
14
15
16
17
18
»
Free download pdf