Lines Matching full:areas
11 * The percpu allocator handles both static and dynamic areas. Percpu
12 * areas are allocated in chunks which are divided into units. There is
407 * pcpu_next_fit_region - finds fit areas for a given allocation request
472 * Metadata free area iterators. These perform aggregation of free areas
793 /* iterate over free areas and update the contig hints */ in pcpu_block_refresh_hint()
1104 * skip over blocks and chunks that have valid free areas.
1159 * free areas, smaller allocations will eventually fill those holes.
1885 /* clear the areas and return address relative to base address */ in pcpu_alloc_noprof()
1955 * areas can be scarce. Destroy all free chunks except for one. in pcpu_balance_free()
2307 * static percpu areas are not considered. For those, use
2515 * static areas on architectures where the addressing model has
2528 * for vm areas.
2535 * percpu areas. Units which should be colocated are put into the
2536 * same group. Dynamic VM areas will be allocated according to these
3009 void **areas = NULL; in pcpu_embed_first_chunk() local
3023 areas = memblock_alloc(areas_size, SMP_CACHE_BYTES); in pcpu_embed_first_chunk()
3024 if (!areas) { in pcpu_embed_first_chunk()
3048 areas[group] = ptr; in pcpu_embed_first_chunk()
3051 if (ptr > areas[highest_group]) in pcpu_embed_first_chunk()
3054 max_distance = areas[highest_group] - base; in pcpu_embed_first_chunk()
3075 void *ptr = areas[group]; in pcpu_embed_first_chunk()
3091 ai->groups[group].base_offset = areas[group] - base; in pcpu_embed_first_chunk()
3103 if (areas[group]) in pcpu_embed_first_chunk()
3104 pcpu_fc_free(areas[group], in pcpu_embed_first_chunk()
3108 if (areas) in pcpu_embed_first_chunk()
3109 memblock_free(areas, areas_size); in pcpu_embed_first_chunk()
3304 panic("Failed to initialize percpu areas."); in setup_per_cpu_areas()
3332 panic("Failed to allocate memory for percpu areas."); in setup_per_cpu_areas()