From: Thadeu Lima de Souza Cascardo Date: Fri, 21 May 2010 12:46:22 +0000 (-0400) Subject: Memory, flags and kmemcache. X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fkernel%2Fslides%2F.git;a=commitdiff_plain;h=2a575545c0e5f65f908ef4a491917ac0c2bd8a04 Memory, flags and kmemcache. --- diff --git a/09memory/memory b/09memory/memory index 3d79bcb..9a04ca2 100644 --- a/09memory/memory +++ b/09memory/memory @@ -1,14 +1,47 @@ -# kmalloc +%Memory +%Thadeu Cascardo -* flags +# Memory -# slab +* Real (Physical) Address +* Virtual Address +* Bus Address +* Linear Address -* lookaside cache +# Memory Zones + +* Normal Zone +* DMA Zone +* High Memory Zone + +# Flags + +* GFP\\_KERNEL +* GFP\\_ATOMIC +* GFP\\_USER +* GFP\\_HIGHUSER +* GFP\\_NOFS +* GFP\\_NOIO +* \\_\\_GFP\\_ZERO +* \\_\\_GFP\\_DMA +* \\_\\_GFP\\_HIGHMEM +* \\_\\_GFP\\_NOWARN +* \\_\\_GFP\\_REPEAT +* \\_\\_GFP\\_NOFAIL +* \\_\\_GFP\\_NORETRY + +# Slab (lookaside cache) + +* include linux/slab.h +* struct kmem\\_cache +* kmem\\_cache\\_create(name, size, offset, flags, constructor); +* kmem\\_cache\\_destroy(kmc) +* kmem\\_cache\\_alloc(kmc, gfp) +* kmem\\_cache\\_free(kmc, ptr) # vmalloc -# gfp +* Virtual memory with many pages allocated not linearly in the physical space -* get\\_free\\_page +# GFP