Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Suleiman Souhlal <ssouhlal@xxxxxxxxxxx>
- Date: Wed, 17 Jan 2007 23:38:06 -0800
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
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Bruce Evans
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- References:
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Attilio Rao
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Nick Evans
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Kip Macy
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Kip Macy
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Attilio Rao
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Maxim Sobolev
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Attilio Rao
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Matthew Dillon
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- From: Bruce Evans
- Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- Prev by Date: Re: siginfo_t.si_code macro constants
- Next by Date: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- Previous by thread: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- Next by thread: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
- Index(es):
Relevant Pages
|
|