From owner-freebsd-net Tue Aug 20 9:20:10 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5163537B400 for ; Tue, 20 Aug 2002 09:20:07 -0700 (PDT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E6AB43E4A for ; Tue, 20 Aug 2002 09:20:06 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id MAA14086 for ; Tue, 20 Aug 2002 12:20:05 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id g7KGJZM27239; Tue, 20 Aug 2002 12:19:35 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15714.27671.533860.408996@grasshopper.cs.duke.edu> Date: Tue, 20 Aug 2002 12:19:35 -0400 (EDT) To: freebsd-net@freebsd.org Subject: m_getcl and end-to-end performance X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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