From owner-freebsd-current@FreeBSD.ORG Tue Mar 4 07:47:26 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 530C11065674; Tue, 4 Mar 2008 07:47:26 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id 2603D8FC2B; Tue, 4 Mar 2008 07:47:26 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [192.168.1.107] (cpe-24-94-75-93.hawaii.res.rr.com [24.94.75.93]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id m247lN2o076667; Tue, 4 Mar 2008 02:47:25 -0500 (EST) (envelope-from jroberson@chesapeake.net) Date: Mon, 3 Mar 2008 21:49:44 -1000 (HST) From: Jeff Roberson X-X-Sender: jroberson@desktop To: Garrett Wollman In-Reply-To: <18380.58229.379738.408078@hergotha.csail.mit.edu> Message-ID: <20080303214214.G920@desktop> References: <200803020821.m228L0Yw042389@repoman.freebsd.org> <20080301222513.Y920@desktop> <18380.58229.379738.408078@hergotha.csail.mit.edu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: current@freebsd.org Subject: Re: cvs commit: src/sys/kern sched_ule.c 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: Tue, 04 Mar 2008 07:47:26 -0000 On Tue, 4 Mar 2008, Garrett Wollman wrote: > < said: > >> Kris has done some excellent benchmarking as usual. Here you can see the >> improvement in postgres depending on various scheduler debug settings: > >> http://people.freebsd.org/~kris/scaling/pgsql-16cpu.png > > Can you comment on the area under the knee in the 8-cpu topologies? I > seems surprising that 16 cores performs worse than 8 cores in this > regime. Depending on the flags you can see different scaling properties of different cpu selection algorithms. That's what the userret=x, tryself=y parameters are changing. Certain parameters can cause less concurrency which works better when workloads are heavily contended. See the light blue line, tryself=0, userret=0. This scales up more poorly because there is less concurrency when there is no lock contention but behaves better when there is contention because we're less likely to distribute load that would preempt a lock holder. The default settings scale the best when there is little or no contention. That's userret=1, tryself=1. There are other parameters that are important but these were the ones we were most recently experimenting with. This drops off harshly when there is significant contention because most of the threads end up blocked against the same lock and may be preempted then rely on priority propagation to kick in. The default settings should encourage further refinements to subsystem locking to yield the best performance. Thanks, Jeff > > -GAWollman > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >