Query regarding size-16384 cache in kernel
Hi, We see an continuous increase in slab size of 1GB for slab cache named "size-16384" in a system. The system is stable and sending/receiving bulk amounts of packets. "/proc/slabinfo" Initial Value: size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0 size-16384 9247 9247 16384 1 4 : tunables 8 4 0 : slabdata 9247 9247 0 "/proc/slabinfo" Final Value: size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0 size-16384 75023 75023 16384 1 4 : tunables 8 4 0 : slabdata 75023 75023 0 Can anyone please tell us what kind of functions in kernel need to allocate an object for "size-16384"? In what possible scenarios are these slab objects allocated? Thanks, Sowmya =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you
Hi Sowmya, On Tue, Jan 18, 2011 at 6:06 AM, Sowmya Sridharan <sowmya.sridharan@tcs.com> wrote:
Hi,
We see an continuous increase in slab size of 1GB for slab cache named "size-16384" in a system. The system is stable and sending/receiving bulk amounts of packets.
"/proc/slabinfo" Initial Value: size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0 size-16384 9247 9247 16384 1 4 : tunables 8 4 0 : slabdata 9247 9247 0
"/proc/slabinfo" Final Value: size-16384(DMA) 0 0 16384 1 4 : tunables 8 4 0 : slabdata 0 0 0 size-16384 75023 75023 16384 1 4 : tunables 8 4 0 : slabdata 75023 75023 0
Can anyone please tell us what kind of functions in kernel need to allocate an object for "size-16384"?
Doing kmalloc( 9000, GFP_KERNEL) will allocate a size-16384 object. Typically doing any allocation in the range 8193 throuh 16384 will allocate a 16k object. You'll probably need to enable something like kmemleak in order to track down who is doing the allocations. <http://lxr.linux.no/linux+v2.6.37/Documentation/kmemleak.txt>
In what possible scenarios are these slab objects allocated?
Once you find the leak, you'll probably know the answer. Dave Hylands
participants (2)
-
Dave Hylands -
Sowmya Sridharan