개요

static __always_inline void *kmalloc(size_t size, gfp_t flags)

Kmalloc은 리눅스 커널에서 메모리를 할당시키는 함수이다. kmalloc은 내부적으로 slab cache를 사용하여 메모리를 할당한다.

  • kmalloc은 vmalloc과는 다르게 physically contiguous한 메모리를 보장한다.
  • kmalloc은 부팅 시간에는 hugepage로 부팅후에는 4KB page로 할당된다.
  • 8K보다 큰 메모리는 buddy system을 통해서 할당한다.