Example #1
0
int kmem_free_obj(void *objp)
{
    uint64_t page_addr = (uint64_t)objp & PAGE_MASK;
    struct page *page = pfn_to_page(page_addr);

    kmem_cache_t *cachep = (kmem_cache_t *)page->slab_list.next;

    return _kmem_free_obj(cachep, objp);
}
Example #2
0
int kmem_free_obj(void *objp)
{
    int index = ptr_to_index(objp);
    /*printf("index = %d.\n", index);*/

    struct page *page = mem_map[index];
    struct kmem_cache_t *cachep = (struct kmem_cache_t *)page->lru.next;

    return _kmem_free_obj(cachep, objp);
}