Dear Experts,
I would like to know a mechanism, how to increase the number of object and where the memory is from.
(because when cache is created by "kmem_cache_create", there is only object size, but no number of the object)
For example, “size-65536” does not have available memory from below dump.
In that state, if memory allocation is requested to “size-65536”,
1. How to allocate/increase the number of object on “size-65536”?
2. Where is the new allocated memory from? (from buddy?)
I believe it is hard to explain with simple word, any advice will be very helpful.
cat /proc/buddyinfo Node 0, zone Normal 949 0 0 2 3 3 0 0 1 1 0 cat /proc/slabinfo slabinfo - version: 2.1 # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail> size-4194304 0 0 4194304 1 1024 : tunables 1 1 0 : slabdata 0 0 0 size-2097152 0 0 2097152 1 512 : tunables 1 1 0 : slabdata 0 0 0 size-1048576 0 0 1048576 1 256 : tunables 1 1 0 : slabdata 0 0 0 size-524288 0 0 524288 1 128 : tunables 1 1 0 : slabdata 0 0 0 size-262144 0 0 262144 1 64 : tunables 1 1 0 : slabdata 0 0 0 size-131072 1 1 131072 1 32 : tunables 8 4 0 : slabdata 1 1 0 size-65536 4 4 65536 1 16 : tunables 8 4 0 : slabdata 4 4 0 |
Thanks,
Seongho(Shawn)