Messages in this thread Patch in this message | | | Date | Thu, 6 May 1999 15:42:51 +0200 (CEST) | From | Andrea Arcangeli <> | Subject | Re: Kernel memory profiling -> network memleak |
| |
On Thu, 6 May 1999, Joerg Henne wrote:
>your memleak-Device. It clearly shows that the network driver for the RTL8139 >is the offender (dev.c seems to be accounted for the nic driver's memory,
I don't think the offender is RTL8139 but instead some packet-driver for the nework that seems that it's missing simply one kfree_skb() somewhere.
What are you using in the network side (TCP/IP?)? Could you should be the configuration of the network? To get this fixed faster I should know which is the packet-driver that is generating the leak (arp, IP, whatever).
Please apply this patch against 2.2.7 and let me know which are the most used packet driver that you are using:
Index: net/core/dev.c =================================================================== RCS file: /var/cvs/linux/net/core/dev.c,v retrieving revision 1.1.2.4 diff -u -r1.1.2.4 dev.c --- dev.c 1999/04/09 01:00:31 1.1.2.4 +++ dev.c 1999/05/06 13:35:03 @@ -972,7 +972,10 @@ */ if(skb2) + { pt_prev->func(skb2, skb->dev, pt_prev); + printk("%p\n", pt_prev->func); + } } /* Remember the current last to do */ pt_prev=ptype; @@ -984,7 +987,10 @@ */ if(pt_prev) + { pt_prev->func(skb, skb->dev, pt_prev); + printk("%p\n", pt_prev->func); + } /* * Has an unknown packet has been received ? */
You'll get tons of numbers in the kernel syslog, grab the most shown ones and resolve them via System.map.
If your system.map looks like this:
c0160cb0 T arp_bind_neighbour c0160d08 T arp_send c0160ef8 t parp_redo c0160f0c T arp_rcv c0161254 T arp_req_set c01613e8 t arp_state_to_flags c0161408 t arp_req_get c01614d0 T arp_req_delete c01615f8 T arp_ioctl c0161818 T arp_get_info
and you see many `c0160f0c' in the syslog you must tell me `arp_rcv' ;).
Andrea Arcangeli
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |