Higer latency with dynamic tick (need for an io-ondemand govenor?)

From: Woodruff, Richard
Date: Fri Apr 18 2008 - 11:44:29 EST


Hi,

When capturing some traces with dynamic tick we were noticing the
interrupt latency seems to go up a good amount. If you look at the trace
the gpio IRQ is now offset a good amount. Good news I guess is its
pretty predictable.

* If we couple this with progressively higher latency C-States we see
that IO speed can fall by a good amount, especially for PIO mixes. Now
if QOS is maintained you may or may-not care.

I was wondering what thoughts of optimizing this might be.

One thought was if an io-ondemand of some sort was used. It could track
interrupt statistics and be feed back into cpu-idle. When there is a
high interrupt load period it could shrink the acceptable latency and
thus help choose a good a C-State which favors throughput. Some moving
average window could be used to track it.

Perhaps a new interrupt attribute could be attached at irq request time
to allow the tracking of bandwidth important devices.

The attached is captured on a .22 kernel. The same should be available
in a bit on a .24 kernel.

Regards,
Richard W.

Attachment: idle_trace.PNG
Description: idle_trace.PNG