From owner-cvs-src@FreeBSD.ORG Sun Feb 17 17:09:25 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 2376016A420; Sun, 17 Feb 2008 17:09:25 +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 F3E0D13C4DB; Sun, 17 Feb 2008 17:09:24 +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 m1HH9OcQ044138; Sun, 17 Feb 2008 17:09:24 GMT (envelope-from jasone@repoman.freebsd.org) Received: (from jasone@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1HH9O33044137; Sun, 17 Feb 2008 17:09:24 GMT (envelope-from jasone) Message-Id: <200802171709.m1HH9O33044137@repoman.freebsd.org> From: Jason Evans Date: Sun, 17 Feb 2008 17:09:24 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/lib/libc/stdlib malloc.3 malloc.c 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: Sun, 17 Feb 2008 17:09:25 -0000 jasone 2008-02-17 17:09:24 UTC FreeBSD src repository Modified files: lib/libc/stdlib malloc.3 malloc.c Log: Remove support for lazy deallocation. Benchmarks across a wide range of allocation patterns, number of CPUs, and MALLOC_OPTIONS settings indicate that lazy deallocation has the potential to worsen throughput dramatically. Performance degradation occurs when multiple threads try to clear the lazy free cache simultaneously. Various experiments to avoid this bottleneck failed to completely solve this problem, while adding yet more complexity. Revision Changes Path 1.78 +1 -12 src/lib/libc/stdlib/malloc.3 1.165 +3 -209 src/lib/libc/stdlib/malloc.c