Page 2 of 2

Re:GPF and IRQ performance

Posted: Tue Oct 18, 2005 2:51 am
by Brendan
Hi,

OK, it's official - I'm a noob...

I did get GC and GNC around the wrong way. "GC.img" does do the cache flushing, while "GNC.img" doesn't. To make matters worse, "IC.img" is identical to "INC.img", and both flush the cache.

This means the corrected results would be:

[tt]Athlon XP 2000+ machine:

GPF with caching: 257 cycles per interrupt


AMD Athlon 64 3000+:

Standard with cache flushing: 804 cycles per interrupt
GPF with caching: 307 cycles per interrupt
GPF with cache flushing: 696 cycles per interrupt[/tt]

This makes sense, but also means that for the Athlon 64 the extra overhead of the GPF is much closer to a normal interrupt and less than the overhead of a cache miss. In this case avoiding that extra cache miss may be worth doing...

Taking this into consideration, which method is better depends on how often IRQs occur and which CPU you're using.


Cheers,

Brendan

Re:GPF and IRQ performance

Posted: Tue Oct 18, 2005 4:13 am
by Pype.Clicker
(( fully sympathizing with all you, people, that are currently busy with RDTSC performance monitoring for OSdev as i'm doing here for my job ))

Re:GPF and IRQ performance

Posted: Tue Oct 18, 2005 2:36 pm
by Cjmovie
Pype.Clicker wrote: (( fully sympathizing with all you, people, that are currently busy with RDTSC performance monitoring for OSdev as i'm doing here for my job ))
?