On Tue, Jul 3, 2012 at 9:31 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
Well, presuming I understand things correctly the cpu die only goes into
the lowest sleep state (which iirc switches off l3 caches and
interconnects) when both the cpu and gpu are in the lowest sleep state.
rc6 is that deep-sleep state for the gpu, so without that enabled your
system won't go into these deep-sleep states.

I guess the slight changes in wakeup latency, power consumption (cuts
about 10W on an idle desktop snb with resulting big effect on what turbo
boost can sustain for short amounts of time) and all the follow-on effects
are good enough to massively change timing-critical things.

The sad side effect is that the software has very little control over the RC6 entry and exit, the hardware enters and leaves RC6 state on its own when it detects that the GPU is idle beyond a threshold. Chances are that if you are not running any GPU workload, the GPU simple enters RC6 state and stays there.

It is possible to observe the current state and also time spent in rc6 by looking at the /sys/kernel/debug/dri/0/i915_drpc_info file.

One other effect of RC6 is that it also allows CPU to go into higher turbo modes as it has more watts to spend while GPU is idle, perhaps this is what causes the issue here?

--
Eugeni Dodonov