Re: [RFT] Port 0x80 I/O speed

From: Rene Herman
Date: Wed Dec 12 2007 - 09:49:38 EST


On 12-12-07 12:20, linux@xxxxxxxxxxx wrote:

Here are a variety of machines:

Thanks much for all! Collecting all data now...

With -O2, the cycle counts come out (before division) as
out: 0xFFFFFFFFFFEA6F4F
in: 0xFFFFFFFFFCE68BB6
I think the "A" constraint doesn't work quite the same in
64-bit code. The compiler seems to be using %rdx rather than
%edx:%eax.

Yes indeed, that tripped me up. Have been using the "=A" locally for a while for similar timing tests. Will use a manual "=a" (lo), "=d" (hi) I guess for amd64 compatibility from now on.

If I'd care deeply I'd probably categorize this as a backwards compatibility bug in GCC though. Things were probably never guaranteed but they certainly worked that way...

Rene.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/