[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] million cycle interrupt



> You could validate that quite easily by adding your own timer 
> read wrapped
> in TSC reads. Actually a PIT read, even though it requires 
> multiple accesses
> over the ISA bus, should take less than 10us.

I'll take a look at that next.  Taking average as
well as max, the timer_interrupt interrupt is
AVERAGING over 300K cycles (with 8 processors).
This interrupt is 100Hz, correct?  If so, that means
a full 1% of one processor's cycles are spent
processing timer_interrupts!

The MSI interrupts have large max, but the average
is relatively small (under 5000 cycles). It still
would be nice to know what is causing the max
value, especially since it only occurs for me with
more than 4 processors.

But first, Keir, would you take this patch so that this
kind of issue can be more easily diagnosed in the future?
If you're worried about the extra two global variable
reads, you could wrap an "#ifndef NDEBUG" around it
(with #else #define opt_measure_irqs 0), but it might
be nice to have this diagnostic capability in released
code.

Attachment: measure_irq.patch
Description: Binary data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.