From owner-cvs-all Tue Jul 23 7:55:41 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF39237B400; Tue, 23 Jul 2002 07:55:35 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7708E43E5E; Tue, 23 Jul 2002 07:55:35 -0700 (PDT) (envelope-from bmilekic@FreeBSD.org) Received: from freefall.freebsd.org (bmilekic@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g6NEtZJU084268; Tue, 23 Jul 2002 07:55:35 -0700 (PDT) (envelope-from bmilekic@freefall.freebsd.org) Received: (from bmilekic@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g6NEtZen084267; Tue, 23 Jul 2002 07:55:35 -0700 (PDT) Message-Id: <200207231455.g6NEtZen084267@freefall.freebsd.org> From: Bosko Milekic Date: Tue, 23 Jul 2002 07:55:35 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern subr_mbuf.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG bmilekic 2002/07/23 07:55:35 PDT Modified files: sys/kern subr_mbuf.c Log: Introduce mb_free() to the MBP_PERSIST{,ENT} interface. What this means is that grouped frees will be done as most often as possible without dropping the cache lock in between. So, for the most part, they'll be done without the lock being dropped. This is particularly true if you have something that does a grouped m_getm() or m_getcl() (a cluster and mbuf at the same time) - most likely getting the buffers from the same per-CPU cache - and then frees them with m_free{,m}(). Unless the buffers' underlying buckets were moved, the free will be done without the lock getting dropped in between. So far, only m_free() has been shown how to do this, and m_freem() will shortly follow. Since I'm here, I also fixed a small (but mostly harmless) type-mismatch introduced in the last commit. Revision Changes Path 1.22 +70 -17 src/sys/kern/subr_mbuf.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message