2000-12-20 20:00:57

by Petr Vandrovec

[permalink] [raw]
Subject: Re: Startup IPI (was: Re: test13-pre3)

On 20 Dec 00 at 19:52, Maciej W. Rozycki wrote:
> > it kills machine; only problem is that 0x1300 wr-rd cycles to VGA apperture
> > take 3.48ms, and this does not correspond with needed 200us udelay.
>
> Hmm, how do you calculate the time? Assuming AGP4x runs at 133MHz and a
> read or write cycle lasts for a single clock tick (I don't know exact AGP
> specs -- please correct me if I'm wrong), I find 0x1300 cycles to finish
> in about 73usecs. The loop execution overhead may double the result and
> it will still fit within 300usecs.

It is easy:
int mfd;
volatile unsigned long* memory;
int i;

mfd = open("/dev/mem", O_RDWR);
memory = mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, mfd, 0x000B8000);
close(mfd);
for (i = 0; i < 0x1300 * 1000; i++) {
*memory = i;
*memory;
}
munmap(memory, 4096);

/usr/bin/time says that program runs for 3.40 - 3.56secs, so after dividing
by 1000 I get 3.4ms... Maybe I should complain to VIA or to Matrox that
it is piece of crap ?

> > Without VIA datasheet I cannot try to disable some PCI features to find
> > which one is culprit, so I'm sorry.
>
> But you may complain to the manufacturer and/or change hardware. I'm
> still uncertain the delay should stay in...

My order was simple: no rambus memory, dual PIII at least on 800MHz
and UDMA66. Yes, maybe I should buy ServerWorks instead of VIA, but
I hoped...
Best regards,
Petr Vandrovec
[email protected]


2000-12-21 12:26:04

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: Startup IPI (was: Re: test13-pre3)

On Wed, 20 Dec 2000, Petr Vandrovec wrote:

> /usr/bin/time says that program runs for 3.40 - 3.56secs, so after dividing

Well, the test looks reasonable if the system load is low. Still the
performance is surprisingly low -- after changing the transfer width to 16
bits I ran the test on my dual P5MMX system equipped with an old ISA VGA
card and I achieved 10.74ms for VGA RAM accesses and 586.6us for uncached
main memory accesses.

> by 1000 I get 3.4ms... Maybe I should complain to VIA or to Matrox that
> it is piece of crap ?

For VIA -- definitely. I don't think Matrox is at fault, though.

> My order was simple: no rambus memory, dual PIII at least on 800MHz
> and UDMA66. Yes, maybe I should buy ServerWorks instead of VIA, but
> I hoped...

At least ServerWorks claims they are willing to cooperate with us
although results seem to be questionable so far...

Maciej

--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: [email protected], PGP key available +