qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] memory leak in user mode network stack
@ 2004-09-13 16:46 Juergen Keil
  2004-09-13 20:40 ` Darryl Dixon
  0 siblings, 1 reply; 2+ messages in thread
From: Juergen Keil @ 2004-09-13 16:46 UTC (permalink / raw)
  To: qemu-devel

Hi,

apparently there is a qemu memory leak when -user-net is used.  ftp'ing a
~500Mbyte file from the host os to the guest os increases memory usage for
the "qemu -m 256" process from ~280mb to almost 2gb.

It seems the problem is in slirp/if.c, if_start().  If fetches queued mbuf's,
sends them, but does not return the mbufs to the free mbuf pool.


Shouldn't if_start() return mbufs to the free mbuf pool after transmitting
the data, like this?

Index: if.c
===================================================================
RCS file: /cvsroot/qemu/qemu/slirp/if.c,v
retrieving revision 1.1
diff -u -B -c -8 -r1.1 if.c
cvs diff: conflicting specifications of output style
*** if.c        22 Apr 2004 00:10:47 -0000      1.1
--- if.c        13 Sep 2004 16:29:32 -0000
***************
*** 310,320 ****
--- 310,322 ----
                if (--ifm->ifq_so->so_queued == 0)
                   /* If there's no more queued, reset nqueued */
                   ifm->ifq_so->so_nqueued = 0;
        }
  
        /* Encapsulate the packet for sending */
          if_encap(ifm->m_data, ifm->m_len);
  
+       m_free(ifm);
+ 
        if (if_queued)
           goto again;
  }

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-09-13 20:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-13 16:46 [Qemu-devel] memory leak in user mode network stack Juergen Keil
2004-09-13 20:40 ` Darryl Dixon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).