]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - include/linux/mempool.h
move Rust sources to top level, C sources into c_src
[bcachefs-tools-debian] / include / linux / mempool.h
diff --git a/include/linux/mempool.h b/include/linux/mempool.h
deleted file mode 100644 (file)
index 506da24..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * memory buffer pool support
- */
-#ifndef _LINUX_MEMPOOL_H
-#define _LINUX_MEMPOOL_H
-
-#include <linux/wait.h>
-#include <linux/compiler.h>
-#include <linux/slab.h>
-
-struct kmem_cache;
-
-typedef void * (mempool_alloc_t)(gfp_t gfp_mask, void *pool_data);
-typedef void (mempool_free_t)(void *element, void *pool_data);
-
-typedef struct mempool_s {
-       spinlock_t lock;
-       int min_nr;             /* nr of elements at *elements */
-       int curr_nr;            /* Current nr of elements at *elements */
-       void **elements;
-
-       void *pool_data;
-       mempool_alloc_t *alloc;
-       mempool_free_t *free;
-       wait_queue_head_t wait;
-} mempool_t;
-
-static inline bool mempool_initialized(mempool_t *pool)
-{
-       return pool->elements != NULL;
-}
-
-void mempool_exit(mempool_t *pool);
-int mempool_init_node(mempool_t *pool, int min_nr, mempool_alloc_t *alloc_fn,
-                     mempool_free_t *free_fn, void *pool_data,
-                     gfp_t gfp_mask, int node_id);
-int mempool_init(mempool_t *pool, int min_nr, mempool_alloc_t *alloc_fn,
-                mempool_free_t *free_fn, void *pool_data);
-
-extern mempool_t *mempool_create(int min_nr, mempool_alloc_t *alloc_fn,
-                       mempool_free_t *free_fn, void *pool_data);
-extern mempool_t *mempool_create_node(int min_nr, mempool_alloc_t *alloc_fn,
-                       mempool_free_t *free_fn, void *pool_data,
-                       gfp_t gfp_mask, int nid);
-
-extern int mempool_resize(mempool_t *pool, int new_min_nr);
-extern void mempool_destroy(mempool_t *pool);
-extern void *mempool_alloc(mempool_t *pool, gfp_t gfp_mask) __malloc;
-extern void mempool_free(void *element, mempool_t *pool);
-
-/*
- * A mempool_alloc_t and mempool_free_t that get the memory from
- * a slab cache that is passed in through pool_data.
- * Note: the slab cache may not have a ctor function.
- */
-void *mempool_alloc_slab(gfp_t gfp_mask, void *pool_data);
-void mempool_free_slab(void *element, void *pool_data);
-
-static inline int
-mempool_init_slab_pool(mempool_t *pool, int min_nr, struct kmem_cache *kc)
-{
-       return mempool_init(pool, min_nr, mempool_alloc_slab,
-                           mempool_free_slab, (void *) kc);
-}
-
-static inline mempool_t *
-mempool_create_slab_pool(int min_nr, struct kmem_cache *kc)
-{
-       return mempool_create(min_nr, mempool_alloc_slab, mempool_free_slab,
-                             (void *) kc);
-}
-
-/*
- * a mempool_alloc_t and a mempool_free_t to kmalloc and kfree the
- * amount of memory specified by pool_data
- */
-void *mempool_kmalloc(gfp_t gfp_mask, void *pool_data);
-void mempool_kfree(void *element, void *pool_data);
-
-static inline int mempool_init_kmalloc_pool(mempool_t *pool, int min_nr, size_t size)
-{
-       return mempool_init(pool, min_nr, mempool_kmalloc,
-                           mempool_kfree, (void *) size);
-}
-
-static inline mempool_t *mempool_create_kmalloc_pool(int min_nr, size_t size)
-{
-       return mempool_create(min_nr, mempool_kmalloc, mempool_kfree,
-                             (void *) size);
-}
-
-/*
- * A mempool_alloc_t and mempool_free_t for a simple page allocator that
- * allocates pages of the order specified by pool_data
- */
-void *mempool_alloc_pages(gfp_t gfp_mask, void *pool_data);
-void mempool_free_pages(void *element, void *pool_data);
-
-static inline int mempool_init_page_pool(mempool_t *pool, int min_nr, int order)
-{
-       return mempool_init(pool, min_nr, mempool_alloc_pages,
-                           mempool_free_pages, (void *)(long)order);
-}
-
-static inline mempool_t *mempool_create_page_pool(int min_nr, int order)
-{
-       return mempool_create(min_nr, mempool_alloc_pages, mempool_free_pages,
-                             (void *)(long)order);
-}
-
-#endif /* _LINUX_MEMPOOL_H */