cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

slab.h (1025B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _TOOLS_SLAB_H
      3#define _TOOLS_SLAB_H
      4
      5#include <linux/types.h>
      6#include <linux/gfp.h>
      7
      8#define SLAB_PANIC 2
      9#define SLAB_RECLAIM_ACCOUNT    0x00020000UL            /* Objects are reclaimable */
     10
     11#define kzalloc_node(size, flags, node) kmalloc(size, flags)
     12
     13void *kmalloc(size_t size, gfp_t gfp);
     14void kfree(void *p);
     15
     16bool slab_is_available(void);
     17
     18enum slab_state {
     19	DOWN,
     20	PARTIAL,
     21	PARTIAL_NODE,
     22	UP,
     23	FULL
     24};
     25
     26static inline void *kzalloc(size_t size, gfp_t gfp)
     27{
     28	return kmalloc(size, gfp | __GFP_ZERO);
     29}
     30
     31struct list_lru;
     32
     33void *kmem_cache_alloc_lru(struct kmem_cache *cachep, struct list_lru *, int flags);
     34static inline void *kmem_cache_alloc(struct kmem_cache *cachep, int flags)
     35{
     36	return kmem_cache_alloc_lru(cachep, NULL, flags);
     37}
     38void kmem_cache_free(struct kmem_cache *cachep, void *objp);
     39
     40struct kmem_cache *kmem_cache_create(const char *name, unsigned int size,
     41			unsigned int align, unsigned int flags,
     42			void (*ctor)(void *));
     43
     44#endif		/* _TOOLS_SLAB_H */