Lines Matching defs:ca

301 static void chain_init(struct chain_allocator *ca, gfp_t gfp_mask,
304 ca->chain = NULL;
305 ca->used_space = LINKED_PAGE_DATA_SIZE;
306 ca->gfp_mask = gfp_mask;
307 ca->safe_needed = safe_needed;
310 static void *chain_alloc(struct chain_allocator *ca, unsigned int size)
314 if (LINKED_PAGE_DATA_SIZE - ca->used_space < size) {
317 lp = ca->safe_needed ? __get_safe_page(ca->gfp_mask) :
318 get_image_page(ca->gfp_mask, PG_ANY);
322 lp->next = ca->chain;
323 ca->chain = lp;
324 ca->used_space = 0;
326 ret = ca->chain->data + ca->used_space;
327 ca->used_space += size;
435 * @ca: Pointer to a linked list of pages ("a chain") to allocate from
443 struct chain_allocator *ca,
448 node = chain_alloc(ca, sizeof(struct rtree_node));
469 int safe_needed, struct chain_allocator *ca)
486 node = alloc_rtree_node(gfp_mask, safe_needed, ca,
497 block = alloc_rtree_node(gfp_mask, safe_needed, ca, &zone->leaves);
509 node = alloc_rtree_node(gfp_mask, safe_needed, ca,
540 struct chain_allocator *ca,
549 zone = chain_alloc(ca, sizeof(struct mem_zone_bm_rtree));
560 if (add_rtree_block(zone, gfp_mask, safe_needed, ca)) {
687 struct chain_allocator ca;
692 chain_init(&ca, gfp_mask, safe_needed);
702 zone = create_zone_bm_rtree(gfp_mask, safe_needed, &ca,
711 bm->p_list = ca.chain;
718 bm->p_list = ca.chain;
2505 struct chain_allocator *ca)
2522 pbe = chain_alloc(ca, sizeof(struct highmem_pbe));
2539 kaddr = __get_safe_page(ca->gfp_mask);
2588 struct chain_allocator *ca)
2715 static void *get_buffer(struct memory_bitmap *bm, struct chain_allocator *ca)
2726 return get_highmem_page_buffer(page, ca);
2739 pbe = chain_alloc(ca, sizeof(struct pbe));
2745 pbe->address = __get_safe_page(ca->gfp_mask);
2771 static struct chain_allocator ca;
2816 chain_init(&ca, GFP_ATOMIC, PG_SAFE);
2820 handle->buffer = get_buffer(&orig_bm, &ca);
2829 handle->buffer = get_buffer(&orig_bm, &ca);