Mengmeng and/or Ouping, can you collect full power & perf numbers of this patchset compared to the current mainline without these patches applied? Just running our existing set of benchmarks and tests would be a good start. Thanks, Jesse On Thu, 22 Aug 2013 03:40:56 +0100 Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: > If we encounter a situation where the CPU blocks waiting for results > from the GPU, give the GPU a kick to boost its the frequency. > > This should work to reduce user interface stalls and to quickly promote > mesa to high frequencies - but the cost is that our requested frequency > stalls high (as we do not idle for long enough before rc6 to start > reducing frequencies, nor are we aggressive at down clocking an > underused GPU). However, this should be mitigated by rc6 itself powering > off the GPU when idle, and that energy use is dependent upon the workload > of the GPU in addition to its frequency (e.g. the math or sampler > functions only consume power when used). Still, this is likely to > adversely affect light workloads. > > Stéphane raised the concern that this will punish good applications and > reward bad applications - but due to the nature of how mesa performs its > client throttling, I believe all mesa applications will be roughly > equally affected. > > RFM - request for measurement! > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> > Cc: Stéphane Marchesin <stephane.marchesin@xxxxxxxxx> > Cc: "Meng, Mengmeng" <mengmeng.meng@xxxxxxxxx> > Cc: "Zhuang, Lena" <lena.zhuang@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 091bb553..8ef3559 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -1106,6 +1106,15 @@ static int __wait_seqno(struct intel_ring_buffer *ring, u32 seqno, > if (WARN_ON(!ring->irq_get(ring))) > return -ENODEV; > > + if (dev_priv->info->gen >= 6) { > + mutex_lock(&dev_priv->rps.hw_lock); > + if (dev_priv->info->is_valleyview) > + valleyview_set_rps(dev_priv->dev, dev_priv->rps.max_delay); > + else > + gen6_set_rps(dev_priv->dev, dev_priv->rps.max_delay); > + mutex_unlock(&dev_priv->rps.hw_lock); > + } > + > /* Record current time in case interrupted by signal, or wedged * */ > getrawmonotonic(&before); > -- Jesse Barnes, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx