From owner-freebsd-current@FreeBSD.ORG Thu Jan 18 08:04:28 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DEFDA16A412; Thu, 18 Jan 2007 08:04:28 +0000 (UTC) (envelope-from ssouhlal@FreeBSD.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id C30D113C45A; Thu, 18 Jan 2007 08:04:28 +0000 (UTC) (envelope-from ssouhlal@FreeBSD.org) Received: from [192.168.0.100] (c-67-188-127-3.hsd1.ca.comcast.net [67.188.127.3]) by elvis.mu.org (Postfix) with ESMTP id EA1D71A3C19; Wed, 17 Jan 2007 23:39:10 -0800 (PST) Message-ID: <45AF23DE.6030801@FreeBSD.org> Date: Wed, 17 Jan 2007 23:38:06 -0800 From: Suleiman Souhlal User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051204) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Bruce Evans References: <3bbf2fe10607250813w8ff9e34pc505bf290e71758@mail.gmail.com> <3bbf2fe10607281004o6727e976h19ee7e054876f914@mail.gmail.com> <3bbf2fe10701160851r79b04464m2cbdbb7f644b22b6@mail.gmail.com> <20070116154258.568e1aaf@pleiades.nextvenue.com> <3bbf2fe10701161525j6ad9292y93502b8df0f67aa9@mail.gmail.com> <45AD6DFA.6030808@FreeBSD.org> <3bbf2fe10701161655p5e686b52n7340b3100ecfab93@mail.gmail.com> <200701172022.l0HKMYV8053837@apollo.backplane.com> <20070118113831.A11834@delplex.bde.org> In-Reply-To: <20070118113831.A11834@delplex.bde.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Ivan Voras , Attilio Rao , freebsd-current@freebsd.org, freebsd-arch@freebsd.org Subject: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs 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: Thu, 18 Jan 2007 08:04:29 -0000 Bruce Evans wrote: > On Wed, 17 Jan 2007, Matthew Dillon wrote: >> * No extranious memory writes, no uncached extranious memory reads. >> If you do any writes to memory other then to the copy destination >> in your copy loop you screw up the cpu's write fifo and destroy >> performance. >> >> Systems are so sensitive to this that it is even better to spend the >> time linearly mapping large copy spaces into KVM and do a single >> block copy then to have an inner per-PAGE loop. > > > I haven't tried this, but have seen and partly worked sensitivity to > linear KVA maps not being physically (non)linear enough. Some CPUs > and/or memory systems are remarkably sensitive to bank interleave. > FreeBSD's page coloring doesn't know anything about banks, and > accidentally starts up with perfect miscoloring for banks. This can > make a difference of 30% for bzero bandwidth in benchmarks (not so > much for bcopy bandwidth, and an insignificant amount for normal use). > After the system warms up, the coloring becomes random with respect > to banks, and random coloring works much better than perfect miscoloring. About page coloring: Don't amd64 CPUs have virtually indexed, physically tagged caches? If so, wouldn't it make sense to turn off page coloring, since it's useless for virtually indexed caches (and probably hurts things a bit)? -- Suleiman