From owner-cvs-src@FreeBSD.ORG Mon Jun 16 23:42:15 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D97EF106568A; Mon, 16 Jun 2008 23:42:15 +0000 (UTC) (envelope-from jasone@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C70748FC1D; Mon, 16 Jun 2008 23:42:15 +0000 (UTC) (envelope-from jasone@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m5GNgFwI024656; Mon, 16 Jun 2008 23:42:15 GMT (envelope-from jasone@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m5GNgFTU024655; Mon, 16 Jun 2008 23:42:15 GMT (envelope-from jasone@repoman.freebsd.org) Message-Id: <200806162342.m5GNgFTU024655@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jasone@repoman.freebsd.org using -f From: Jason Evans Date: Mon, 16 Jun 2008 23:42:05 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_7 Cc: Subject: cvs commit: src/lib/libc/stdlib malloc.c rb.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jun 2008 23:42:16 -0000 jasone 2008-06-16 23:42:05 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) lib/libc/stdlib malloc.c Added files: (Branch: RELENG_7) lib/libc/stdlib rb.h Log: SVN rev 179836 on 2008-06-16 23:42:05Z by jasone MFC allocator improvements and fixes: * Implement more compact red-black trees, thus reducing memory usage by ~0.5-1%. * Add a separate tree to track dirty-page-containing chunks, thus improving worst case allocation performance. * Fix a deadlock in base_alloc() for the error (OOM) path. * Catch integer overflow for huge allocations when using sbrk(2). * Fix bit vector initialization for run headers. This fix has no practical impact for correct programs. Incorrect programs will potentially experience allocation failures rather than memory corruption, both of which are "undefined behavior". Revision Changes Path 1.147.2.3 +209 -162 src/lib/libc/stdlib/malloc.c 1.4.2.1 +947 -0 src/lib/libc/stdlib/rb.h (new)