Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Aug 2002 12:19:35 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        freebsd-net@freebsd.org
Subject:   m_getcl and end-to-end performance
Message-ID:  <15714.27671.533860.408996@grasshopper.cs.duke.edu>

next in thread | raw e-mail | index | archive | help

The current code for stocking the mcl_pool is located in m_freem().
This is fine for forwarding, however the most commonly used receive
path in soreceive() frees mbufs via m_free() (uipc_socket.c:868 in
today's -stable).  This means that on a machine which is an endpoint,
rather than a forwarder, the mcl_pool will spend much of its time
empty.

Is there any reason why the mcl_pool is not stocked in m_free()
rather than m_freem()?

Speaking of m_free()..  It looks like m_free() is the only consumer of
the MFREE() macro, so why is the MFREE() macro still there?

Thanks,

Drew

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15714.27671.533860.408996>