slab: cache sizes for kmalloc

Mulyadi Santosa mulyadi.santosa at gmail.com
Fri Mar 18 18:26:15 EDT 2011


Hi ....

On Fri, Mar 18, 2011 at 12:52, Maksym Planeta <mcsim.planeta at gmail.com> wrote:
> In slabinfo I can see which cache how many objects has. But I was
> interested witch object sizes are requested most of all. And there isn't
> such information in slabinfo. For example, if I request 8 bytes 32-byte
> object will be allocated. And there is no information in slabinfo how
> much memory I really needed.

Hm... alright, if that's the one you seek,maybe slabinfo can't provide
it.. although once I think you can approximate it by number of
objects. But since you need to compare between requested v.s actual
allocation, that would be something hardly provided in slabinfo AFAIK

> But in slub allocator there are 8- and 16- byte caches. Why in slab
> can't be the same?

>From related Kconfig:
"
config SLAB
 bool "SLAB"
help
The regular slab allocator that is established and known to work
well in all environments. It organizes cache hot objects in
per cpu and per node queues.
"

I am thinking about the word "cache hot objects". Well, IMHO, it is
achievable by allocating biggest page size possible (without using PAE
etc), and that's 4K in x86.

So we get this 4 KiB arena and put it as close as possible to the
needed CPU ( to avoid cache ping pong AFAIK)...or in NUMA case, to
make it real close to the needing CPU.

By using the normal granularity (which is page size), I think moving
cache will be a lot simplier....

just my thoughts...



-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com



More information about the Kernelnewbies mailing list