Lines Matching refs:size

174     rt_uint32_t     size: 30;               /**< pages allocated or offset from zone */  member
324 rt_slab_t rt_slab_init(const char *name, void *begin_addr, rt_size_t size) in rt_slab_init() argument
334 end_align = RT_ALIGN_DOWN((rt_uintptr_t)begin_addr + size, RT_MM_PAGE_SIZE); in rt_slab_init()
338 (rt_uintptr_t)begin_addr, (rt_uintptr_t)begin_addr + size); in rt_slab_init()
490 void *rt_slab_alloc(rt_slab_t m, rt_size_t size) in rt_slab_alloc() argument
499 if (size == 0) in rt_slab_alloc()
506 if (size >= slab->zone_limit) in rt_slab_alloc()
508 size = RT_ALIGN(size, RT_MM_PAGE_SIZE); in rt_slab_alloc()
510 chunk = rt_slab_page_alloc(m, size >> RT_MM_PAGE_BITS); in rt_slab_alloc()
517 kup->size = size >> RT_MM_PAGE_BITS; in rt_slab_alloc()
520 size, in rt_slab_alloc()
521 size >> RT_MM_PAGE_BITS, in rt_slab_alloc()
524 slab->parent.used += size; in rt_slab_alloc()
538 zi = zoneindex(&size); in rt_slab_alloc()
541 LOG_D("try to alloc 0x%x on zone: %d", size, zi); in rt_slab_alloc()
563 chunk = (struct rt_slab_chunk *)(z->z_baseptr + z->z_uindex * size); in rt_slab_alloc()
614 kup->size = off; in rt_slab_alloc()
630 if ((size | (size - 1)) + 1 == (size << 1)) in rt_slab_alloc()
631 off = (off + size - 1) & ~(size - 1); in rt_slab_alloc()
637 z->z_nmax = (slab->zone_size - off) / size; in rt_slab_alloc()
641 z->z_chunksize = size; in rt_slab_alloc()
643 chunk = (struct rt_slab_chunk *)(z->z_baseptr + z->z_uindex * size); in rt_slab_alloc()
669 void *rt_slab_realloc(rt_slab_t m, void *ptr, rt_size_t size) in rt_slab_realloc() argument
677 return rt_slab_alloc(m, size); in rt_slab_realloc()
679 if (size == 0) in rt_slab_realloc()
694 osize = kup->size << RT_MM_PAGE_BITS; in rt_slab_realloc()
695 if ((nptr = rt_slab_alloc(m, size)) == RT_NULL) in rt_slab_realloc()
697 rt_memcpy(nptr, ptr, size > osize ? osize : size); in rt_slab_realloc()
705 kup->size * RT_MM_PAGE_SIZE); in rt_slab_realloc()
708 zoneindex(&size); in rt_slab_realloc()
709 if (z->z_chunksize == size) in rt_slab_realloc()
717 if ((nptr = rt_slab_alloc(m, size)) == RT_NULL) in rt_slab_realloc()
720 rt_memcpy(nptr, ptr, size > z->z_chunksize ? z->z_chunksize : size); in rt_slab_realloc()
764 rt_uintptr_t size; in rt_slab_free() local
767 size = kup->size; in rt_slab_free()
768 kup->size = 0; in rt_slab_free()
770 slab->parent.used -= size * RT_MM_PAGE_SIZE; in rt_slab_free()
773 (rt_uintptr_t)ptr, size); in rt_slab_free()
776 rt_slab_page_free(m, ptr, size); in rt_slab_free()
783 kup->size * RT_MM_PAGE_SIZE); in rt_slab_free()
843 kup->size = 0; in rt_slab_free()