Linux Kernel Architecture
Chapter3:MemoryManagement mm/vmalloc.c void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, pgprot_t prot, int node ...
Chapter3:MemoryManagement Memory is not allocated from the buddy system in a single chunk but page-by-page. This is a key aspect ...
Chapter3:MemoryManagement to 1, whereasvunmapsets it to 0 because in this case only the mappings are removed but the associ- ate ...
Chapter3:MemoryManagement This task is simple if highmem support is not enabled. In this case, all pages can be accessed directl ...
Chapter3:MemoryManagement mm/highmem.c void *page_address(struct page *page) Figure 3-41 outlines the interplay between the abov ...
Chapter3:MemoryManagement Thepage_addressfunction discussed above first checks whether the page is already mapped. If it does no ...
Chapter3:MemoryManagement pkmap_countis scanned in full. Entries with counter value 1 are set to 0, and the associated entry is ...
Chapter3:MemoryManagement CPU 0 CPU 1 CPU n FIX_KMAP_BEGIN FIX_KMAP_END 1 = KM_BOUNCE_READ 2 = KM_SKB_SUNRPC_DATA,... 01234567 0 ...
Chapter3:MemoryManagement To this end, it is necessary to introduce new management mechanisms that place a greater overhead on t ...
Chapter3:MemoryManagement The termcoloris used in the metaphorical sense. It has nothing to do with colors but represents a cert ...
Chapter3:MemoryManagement Physical page frames Generic kernel code Buddy system Standard Slab, slob, or interface slub allocator ...
Chapter3:MemoryManagement and freed usingkmem_cache_allocandkmem_cache_free. The slab allocator is automatically responsible for ...
Chapter3:MemoryManagement In addition to easily identified cache names such asunix_sock(for domain sockets, i.e., objects of typ ...
Chapter3:MemoryManagement Cache Cache Cache Slab Slab Slab Cache Object Figure 3-44: Components of the slab allocator. struct km ...
Chapter3:MemoryManagement in the cache and allocates it again as quickly as possible (in response to the next request). Only whe ...
Chapter3:MemoryManagement Fill bytes speed access to the objects in a slab. Memory access is faster on almost all architectures ...
Chapter3:MemoryManagement various lists. As this is not necessary for pages on the slab cache, the pointers can be used for othe ...
Chapter3:MemoryManagement Data Structures Each cache is represented by an instance of thekmem_cachestructure defined inmm/slab.c ...
Chapter3:MemoryManagement This lengthy structure is divided into multiple parts as indicated by the comments in the kernel sourc ...
Chapter3:MemoryManagement The meanings ofbatchcountandlimitare as given above. The values ofkmem_cache_s are applied (normally u ...
«
10
11
12
13
14
15
16
17
18
19
»
Free download pdf