linux/include/linux/slob_def.h
<<
>>
Prefs
   1#ifndef __LINUX_SLOB_DEF_H
   2#define __LINUX_SLOB_DEF_H
   3
   4#ifdef ARCH_DMA_MINALIGN
   5#define ARCH_KMALLOC_MINALIGN ARCH_DMA_MINALIGN
   6#else
   7#define ARCH_KMALLOC_MINALIGN __alignof__(unsigned long)
   8#endif
   9
  10#ifndef ARCH_SLAB_MINALIGN
  11#define ARCH_SLAB_MINALIGN __alignof__(unsigned long)
  12#endif
  13
  14void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
  15
  16static __always_inline void *kmem_cache_alloc(struct kmem_cache *cachep,
  17                                              gfp_t flags)
  18{
  19        return kmem_cache_alloc_node(cachep, flags, -1);
  20}
  21
  22void *__kmalloc_node(size_t size, gfp_t flags, int node);
  23
  24static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
  25{
  26        return __kmalloc_node(size, flags, node);
  27}
  28
  29/**
  30 * kmalloc - allocate memory
  31 * @size: how many bytes of memory are required.
  32 * @flags: the type of memory to allocate (see kcalloc).
  33 *
  34 * kmalloc is the normal method of allocating memory
  35 * in the kernel.
  36 */
  37static __always_inline void *kmalloc(size_t size, gfp_t flags)
  38{
  39        return __kmalloc_node(size, flags, -1);
  40}
  41
  42static __always_inline void *__kmalloc(size_t size, gfp_t flags)
  43{
  44        return kmalloc(size, flags);
  45}
  46
  47#endif /* __LINUX_SLOB_DEF_H */
  48