From owner-freebsd-current@FreeBSD.ORG Fri Apr 6 17:54:05 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EAFDF1065676; Fri, 6 Apr 2012 17:54:04 +0000 (UTC) (envelope-from lacombar@gmail.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 1F62F8FC12; Fri, 6 Apr 2012 17:54:03 +0000 (UTC) Received: by wern13 with SMTP id n13so2050230wer.13 for ; Fri, 06 Apr 2012 10:54:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=bGl1TB2MEzWLr89JJq6YBka/b10BROPEWOOp50GVOco=; b=Zj/89UOjU8ZyOFZtHrhUtYPrh3I6EB1IsuL4GTaWF7IO39gfBOL6HjfbOYRH1kcnsA yYMxtV/xahwevqSs+s/5Ag/Th326nzjMQVeHwnjklu295zcKqhOVHQo4IaePz6J2fq1k Giyqxj4QCUrL5fo56S+LkUHKcaHpkYukJWoQsGASsBeW67QOwaitsB9dFHCktESH7FVu 3RUkZzufx1KCJcUDKSaFKnCrdSvfSvjmoEJRBYMAKkh8DhQIpkMojEW+bjdHkN7JPFvH ii33PjP0IBnvxdCxMmlW6ovfgmNUtgLCbiXPHgE0pU0D4Y5TO04D+961BMRuxoGzO5jK xQBg== MIME-Version: 1.0 Received: by 10.180.88.164 with SMTP id bh4mr21199994wib.22.1333734843168; Fri, 06 Apr 2012 10:54:03 -0700 (PDT) Received: by 10.216.49.81 with HTTP; Fri, 6 Apr 2012 10:54:03 -0700 (PDT) In-Reply-To: References: Date: Fri, 6 Apr 2012 13:54:03 -0400 Message-ID: From: Arnaud Lacombe To: Attilio Rao Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-performance@freebsd.org, FreeBSD Current Subject: Re: Scheduler + IPC performance on FreeBSD 7.4, 8.2, 9.0 and -CURRENT X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Apr 2012 17:54:05 -0000 Hi, On Fri, Apr 6, 2012 at 10:58 AM, Attilio Rao wrote: > Il 05 aprile 2012 19:03, Arnaud Lacombe ha scritto: >> Hi folks, >> >> Over the past months, I ran on a couple of unused box the >> `hackbench'[HACKBENCH] benchmark used by the Linux folks for tracking >> down various kind of regression/improvement. `hackbench' is a >> scheduler + IPC test (socket xor pipe). It creates producers/consumers >> groups and let a variable quantity of small messages flow happily. >> Producers and consumers are either processes xor threads. >> >> Tested platforms were >> =A0- Atom D510, Intel, (incomplete) >> =A0- Core 2 Quad Q9560, Intel >> =A0- Soekris net5501, AMD (incomplete) >> =A0- Xeon E5645, Intel (incomplete) >> =A0- Xeon E5620 (dual package), Intel >> =A0- Xeon E5-1650 (pending completion) >> =A0- Vortex86, DMP >> >> Tested kernel were: >> =A0- FreeBSD 7.4-RELEASE >> =A0- FreeBSD 8.2-RELEASE >> =A0- FreeBSD 9.0-RC3 and FreeBSD 9.0-RELEASE >> =A0- FreeBSD 10-CURRENT as of r231573 > > Which means you run 10-CURRENT with all the kernel debugging options > on and MALLOC_DEBUG on? > I already answered that question. Namely: << note: rule [I] is alleviated for -CURRENT kernels, which were built with the same alteration made to GENERIC during the CURRENT->RELEASE transition (ie. WITNESS and a couple of other option disabled). >> this translates into the following patch (for amd64): diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 8db8e27..9d61f25 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -67,20 +67,6 @@ options MAC # TrustedBSD MAC Framework #options KDTRACE_HOOKS # Kernel DTrace hooks options INCLUDE_CONFIG_FILE # Include this file in kernel -# Debugging support. Always need this: -options KDB # Enable kernel debugger support. -# For minimum debugger support (stable branch) use: -#options KDB_TRACE # Print a stack trace for a panic. -# For full debugger support use this instead: -options DDB # Support DDB. -options GDB # Support remote GDB. -options DEADLKRES # Enable the deadlock resolver -options INVARIANTS # Enable calls of extra sanity chec= king -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -options MALLOC_DEBUG_MAXZONES=3D8 # Separate malloc(9) zones - Arnaud > Attilio > > > -- > Peace can only be achieved by understanding - A. Einstein