Hi,
I've stumbled across strange behavior of the slab consumption on my
embedded device. If I run this script[1] enough long the device OOM
causes device to reboot. This is on cris architecture. No other user
processes are started.
I've found out that slab consumption increases with almost every
ifconfig up/down. I've plugged one memory leak that the irda driver
(mcs7780.c) had, but the growing slab was only slowed down - not
completely stopped.
Then I tested the same with the primary ethernet interface (eth0) and
ended up with similar result - slab slowly growing. Is this expected
behavior?
My expectations are that by simply bringing the network up and down
should not consume (leak) any slab memory.
I've also hacked the irda mcs7780 drivers net_open() and net_close()
functions to return immediately (without any allocations) and still slab
usage grew!??!
Can anybody shed some light on the topic?
Thanks,
Hinko
[1] test script
#!/bin/sh
[ ! -d /mnt/memtest ] && mkdir -p /mnt/memtest
while [ 1 ]; do
/sbin/ifconfig irda0 down
sleep 1
/sbin/ifconfig irda0 up
sleep 1
D=`date +"meminfo-%Y%m%d%H%M%S"`
cat /proc/meminfo > /mnt/memtest/$D
grep Slab /mnt/memtest/$D
done
--
ČETRTA POT, d.o.o., Kranj
Planina 3
4000 Kranj
Slovenia, Europe
Tel. +386 (0) 4 280 66 03
E-mail: hinko.kocevar@xxxxxxxxxxxx
Http: www.cetrtapot.si
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ