-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* Allocator
*/
-cfs_page_t *cfs_alloc_page(unsigned int flags)
+struct page *alloc_page(unsigned int flags)
{
- cfs_page_t *pg = malloc(sizeof(*pg));
+ struct page *pg = malloc(sizeof(*pg));
int rc = 0;
if (!pg)
pg->addr = NULL;
#if defined (__DARWIN__)
- pg->addr = valloc(CFS_PAGE_SIZE);
+ pg->addr = valloc(PAGE_CACHE_SIZE);
#elif defined (__WINNT__)
pg->addr = pgalloc(0);
#else
- rc = posix_memalign(&pg->addr, CFS_PAGE_SIZE, CFS_PAGE_SIZE);
+ rc = posix_memalign(&pg->addr, PAGE_CACHE_SIZE, PAGE_CACHE_SIZE);
#endif
if (rc != 0 || pg->addr == NULL) {
free(pg);
return pg;
}
-void cfs_free_page(cfs_page_t *pg)
+void __free_page(struct page *pg)
{
#if defined (__WINNT__)
pgfree(pg->addr);
free(pg);
}
-void *cfs_page_address(cfs_page_t *pg)
+void *page_address(struct page *pg)
{
return pg->addr;
}
-void *cfs_kmap(cfs_page_t *pg)
+void *kmap(struct page *pg)
{
return pg->addr;
}
-void cfs_kunmap(cfs_page_t *pg)
+void kunmap(struct page *pg)
{
}
* SLAB allocator
*/
-cfs_mem_cache_t *
-cfs_mem_cache_create(const char *name, size_t objsize, size_t off, unsigned long flags)
+struct kmem_cache *
+kmem_cache_create(const char *name, size_t objsize, size_t off,
+ unsigned long flags, void *ctor)
{
- cfs_mem_cache_t *c;
+ struct kmem_cache *c;
c = malloc(sizeof(*c));
if (!c)
return c;
}
-int cfs_mem_cache_destroy(cfs_mem_cache_t *c)
+void kmem_cache_destroy(struct kmem_cache *c)
{
CDEBUG(D_MALLOC, "destroy slab cache %p, objsize %u\n", c, c->size);
free(c);
- return 0;
}
-void *cfs_mem_cache_alloc(cfs_mem_cache_t *c, int gfp)
+void *kmem_cache_alloc(struct kmem_cache *c, int gfp)
{
- return cfs_alloc(c->size, gfp);
+ return kmalloc(c->size, gfp);
}
-void cfs_mem_cache_free(cfs_mem_cache_t *c, void *addr)
+void kmem_cache_free(struct kmem_cache *c, void *addr)
{
- cfs_free(addr);
+ kfree(addr);
}
/**
* occasionally returns true for the incorrect addresses, but if it returns
* false, then the addresses is guaranteed to be incorrect.
*/
-int cfs_mem_is_in_cache(const void *addr, const cfs_mem_cache_t *kmem)
+int kmem_is_in_cache(const void *addr, const struct kmem_cache *kmem)
{
return 1;
}