sizes[INDEX_AC].cs_cachep = kmem_cache_create(names[INDEX_AC].name,
                    sizes[INDEX_AC].cs_size,
                    ARCH_KMALLOC_MINALIGN,
                    ARCH_KMALLOC_FLAGS|SLAB_PANIC,
                    NULL, NULL);
 sizes[INDEX_L3].cs_cachep =
            kmem_cache_create(names[INDEX_L3].name,
                sizes[INDEX_L3].cs_size,
                ARCH_KMALLOC_MINALIGN,
                ARCH_KMALLOC_FLAGS|SLAB_PANIC,
                NULL, NULL);
하고, 난뒤 sizes->cs_size != ULONG_MAX 일때까지 while 돌면서 나머지 생성해 준다.
sizes->cs_cachep, sizes->cs_dmacachep...

malloc_sizes[]

0 cs_size=0x20
1 cs_size=0x40
2 cs_size=0x60
3 cs_size=0x80
4 cs_size=0xc0
5 cs_size=0x100
6 cs_size=0x200
7 cs_size=0x400
8 cs_size=0x800
9 cs_size=0x1000
10 cs_size=0x2000
11 cs_size=0x4000
12 cs_size=0x8000
13 cs_size=0x10000
14 cs_size=0x20000
15 cs_size=0xffffffff
 
cache_names[]
 
0 names.name=size-32
1 names.name=size-64
2 names.name=size-96
3 names.name=size-128
4 names.name=size-192
5 names.name=size-256
6 names.name=size-512
7 names.name=size-1024
8 names.name=size-2048
9 names.name=size-4096
10 names.name=size-8192
11 names.name=size-16384
12 names.name=size-32768
13 names.name=size-65536
14 names.name=size-131072
15 names.name=<NULL>
Posted by blee
,