tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NetBSD 5.1 TCP performance issue (lots of ACK)
On Tue, Nov 22, 2011 at 12:23:06PM -0800, Dennis Ferguson wrote:
>[...]
> Needless to say, the last bit would be entirely inconsistent with section
> 7.2 of any version of the "Intel 64 and IA-32 Architectures Software
> Developer?s
> Manual, Volume 3A: System Programming Guide, Part 1" published more recently
> than 2007. I won't repeat what it says here, but it is rather unambiguous
> about the fact that newer reads (in program order) are always done after older
> reads, at least in the basic instruction set.
I have "IA-32 Intel® Architecture Software Developer's Manual Volume 3:
System Programming Guide" from 2004, and it says at the beggining
of 7.2.2:
| In a single-processor system for memory regions defined as write-back
| cacheable, the following ordering rules apply:
| 1. Reads can be carried out speculatively and in any order.
and a bit later
| In a multiple-processor system, the following ordering rules apply:
| · Individual processors use the same ordering rules as in a
| single-processor system.
| · Writes by a single processor are observed in the same order by all
| processors.
| · Writes from the individual processors on the system bus are NOT ordered
| with respect to each other.
I can't see anything about read ordering being stronger in a SMP system.
So we have to assume that reads can be reorderd, unless we want
NetBSD to run only on x86 systems newer than 2007 (and a lfence instruction
is enough to enforce read ordering).
and yes, my test system is older than 2007.
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index