From: Kumiko Ono <[EMAIL PROTECTED]> Date: Sat, 07 Apr 2007 23:22:36 -0400
> Could anybody tell me why the garbage in the memory for TCP socket > buffers remains? Is this a problem on deallocation of socket buffers, or > just on sockstat? Or I'm missing something? It is not garbage, it is simply holding on to the receive buffer allocation in anticipation of future packet receives for that socket. The values in the global pool, which you saw via sockstat, are allocated from on a per-socket basis into a per-socket allocation quota. Packets attached to that socket have to take from this quota. The idea is that once you get a per-socket allocation, you use that until you need more. When you release, you keep the per-socket allocation unless we are under global memory pressure. This prevents having to go to allocate from the global pool too often which is very expensive especially on SMP since it is a shared datastructure and requires locking. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html