.\" This manpage has been automatically generated by docbook2man .\" from a DocBook document. This tool can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .TH "__KMALLOC" "9" "09 October 2005" "" "" .SH NAME __kmalloc \- allocate memory .SH SYNOPSIS "SYNOPSIS" .sp \fB .sp void * __kmalloc (size_t \fIsize\fB, unsigned int __nocast \fIflags\fB); \fR .SH "ARGUMENTS" .TP \fB\fIsize\fB\fR how many bytes of memory are required. .TP \fB\fIflags\fB\fR the type of memory to allocate. .SH "DESCRIPTION" .PP kmalloc is the normal method of allocating memory in the kernel. .PP The \fIflags\fR argument may be one of: .PP GFP_USER - Allocate memory on behalf of user. May sleep. .PP GFP_KERNEL - Allocate normal kernel ram. May sleep. .PP GFP_ATOMIC - Allocation will not sleep. Use inside interrupt handlers. .PP Additionally, the GFP_DMA flag may be set to indicate the memory must be suitable for DMA. This can mean different things on different platforms. For example, on i386, it means that the memory must come from the first 16MB.