Home
last modified time | relevance | path

Searched refs:chunk (Results 1 – 6 of 6) sorted by relevance

/mm/
Dpercpu.c213 static bool pcpu_addr_in_chunk(struct pcpu_chunk *chunk, void *addr) in pcpu_addr_in_chunk() argument
217 if (!chunk) in pcpu_addr_in_chunk()
220 start_addr = chunk->base_addr + chunk->start_offset; in pcpu_addr_in_chunk()
221 end_addr = chunk->base_addr + chunk->nr_pages * PAGE_SIZE - in pcpu_addr_in_chunk()
222 chunk->end_offset; in pcpu_addr_in_chunk()
240 static int pcpu_chunk_slot(const struct pcpu_chunk *chunk) in pcpu_chunk_slot() argument
242 const struct pcpu_block_md *chunk_md = &chunk->chunk_md; in pcpu_chunk_slot()
244 if (chunk->free_bytes < PCPU_MIN_ALLOC_SIZE || in pcpu_chunk_slot()
273 static unsigned long pcpu_chunk_addr(struct pcpu_chunk *chunk, in pcpu_chunk_addr() argument
276 return (unsigned long)chunk->base_addr + in pcpu_chunk_addr()
[all …]
Dpercpu-vm.c12 static struct page *pcpu_chunk_page(struct pcpu_chunk *chunk, in pcpu_chunk_page() argument
16 WARN_ON(chunk->immutable); in pcpu_chunk_page()
18 return vmalloc_to_page((void *)pcpu_chunk_addr(chunk, cpu, page_idx)); in pcpu_chunk_page()
53 static void pcpu_free_pages(struct pcpu_chunk *chunk, in pcpu_free_pages() argument
81 static int pcpu_alloc_pages(struct pcpu_chunk *chunk, in pcpu_alloc_pages() argument
126 static void pcpu_pre_unmap_flush(struct pcpu_chunk *chunk, in pcpu_pre_unmap_flush() argument
130 pcpu_chunk_addr(chunk, pcpu_low_unit_cpu, page_start), in pcpu_pre_unmap_flush()
131 pcpu_chunk_addr(chunk, pcpu_high_unit_cpu, page_end)); in pcpu_pre_unmap_flush()
152 static void pcpu_unmap_pages(struct pcpu_chunk *chunk, in pcpu_unmap_pages() argument
162 page = pcpu_chunk_page(chunk, cpu, i); in pcpu_unmap_pages()
[all …]
Dpercpu-km.c35 static int pcpu_populate_chunk(struct pcpu_chunk *chunk, in pcpu_populate_chunk() argument
41 static void pcpu_depopulate_chunk(struct pcpu_chunk *chunk, in pcpu_depopulate_chunk() argument
51 struct pcpu_chunk *chunk; in pcpu_create_chunk() local
56 chunk = pcpu_alloc_chunk(type, gfp); in pcpu_create_chunk()
57 if (!chunk) in pcpu_create_chunk()
62 pcpu_free_chunk(chunk); in pcpu_create_chunk()
67 pcpu_set_page_chunk(nth_page(pages, i), chunk); in pcpu_create_chunk()
69 chunk->data = pages; in pcpu_create_chunk()
70 chunk->base_addr = page_address(pages); in pcpu_create_chunk()
73 pcpu_chunk_populated(chunk, 0, nr_pages); in pcpu_create_chunk()
[all …]
Dpercpu-stats.c35 struct pcpu_chunk *chunk; in find_max_nr_alloc() local
42 list_for_each_entry(chunk, &pcpu_chunk_list(type)[slot], in find_max_nr_alloc()
45 chunk->nr_alloc); in find_max_nr_alloc()
56 static void chunk_map_stats(struct seq_file *m, struct pcpu_chunk *chunk, in chunk_map_stats() argument
59 struct pcpu_block_md *chunk_md = &chunk->chunk_md; in chunk_map_stats()
73 last_alloc = find_last_bit(chunk->alloc_map, in chunk_map_stats()
74 pcpu_chunk_map_bits(chunk) - in chunk_map_stats()
75 chunk->end_offset / PCPU_MIN_ALLOC_SIZE - 1); in chunk_map_stats()
76 last_alloc = test_bit(last_alloc, chunk->alloc_map) ? in chunk_map_stats()
80 start = chunk->start_offset / PCPU_MIN_ALLOC_SIZE; in chunk_map_stats()
[all …]
Dpercpu-internal.h102 static inline int pcpu_chunk_nr_blocks(struct pcpu_chunk *chunk) in pcpu_chunk_nr_blocks() argument
104 return chunk->nr_pages * PAGE_SIZE / PCPU_BITMAP_BLOCK_SIZE; in pcpu_chunk_nr_blocks()
126 static inline int pcpu_chunk_map_bits(struct pcpu_chunk *chunk) in pcpu_chunk_map_bits() argument
128 return pcpu_nr_pages_to_map_bits(chunk->nr_pages); in pcpu_chunk_map_bits()
132 static inline enum pcpu_chunk_type pcpu_chunk_type(struct pcpu_chunk *chunk) in pcpu_chunk_type() argument
134 if (chunk->obj_cgroups) in pcpu_chunk_type()
145 static inline enum pcpu_chunk_type pcpu_chunk_type(struct pcpu_chunk *chunk) in pcpu_chunk_type() argument
199 static inline void pcpu_stats_area_alloc(struct pcpu_chunk *chunk, size_t size) in pcpu_stats_area_alloc() argument
212 chunk->nr_alloc++; in pcpu_stats_area_alloc()
213 chunk->max_alloc_size = max(chunk->max_alloc_size, size); in pcpu_stats_area_alloc()
[all …]
DKconfig836 information includes global and per chunk statistics, which can