Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jan 2007 23:38:06 -0800
From:      Suleiman Souhlal <ssouhlal@FreeBSD.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Maxim Sobolev <sobomax@freebsd.org>, Ivan Voras <ivoras@fer.hr>, Attilio Rao <attilio@freebsd.org>, freebsd-current@freebsd.org, freebsd-arch@freebsd.org
Subject:   Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
Message-ID:  <45AF23DE.6030801@FreeBSD.org>
In-Reply-To: <20070118113831.A11834@delplex.bde.org>
References:  <3bbf2fe10607250813w8ff9e34pc505bf290e71758@mail.gmail.com>	<3bbf2fe10607281004o6727e976h19ee7e054876f914@mail.gmail.com>	<3bbf2fe10701160851r79b04464m2cbdbb7f644b22b6@mail.gmail.com>	<20070116154258.568e1aaf@pleiades.nextvenue.com>	<b1fa29170701161355lc021b90o35fa5f9acb5749d@mail.gmail.com>	<eoji7s$cit$2@sea.gmane.org>	<b1fa29170701161425n7bcfe1e5m1b8c671caf3758db@mail.gmail.com>	<eojlnb$qje$1@sea.gmane.org>	<3bbf2fe10701161525j6ad9292y93502b8df0f67aa9@mail.gmail.com>	<45AD6DFA.6030808@FreeBSD.org>	<3bbf2fe10701161655p5e686b52n7340b3100ecfab93@mail.gmail.com>	<200701172022.l0HKMYV8053837@apollo.backplane.com> <20070118113831.A11834@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45AF23DE.6030801>