[PATCH 2/2] drm/i915: add debugfs interface to control rc6 and rps

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

 



On Tue, Nov 29, 2011 at 12:12, Daniel Vetter <daniel at ffwll.ch> wrote:

> On Tue, Nov 29, 2011 at 01:05:03PM +0000, Chris Wilson wrote:
> > On Tue, 29 Nov 2011 10:55:05 -0200, Eugeni Dodonov <
> eugeni.dodonov at intel.com> wrote:
> > > This allows to enable/disable rps and rc6 from userspace. This is
> > > necessary for to have predictable results from hardware counters, and
> also
> > > to provide a finer granularity over power control from userspace.
> >
> > Reading registers and counters is handled with i915_forcewake_user. So
> > the question is what benefit does htis give over module reload. It looks
> > far riskier...
>
> The observation architecture bspec says that we need to disable rc6,
> otherwise we'll get garbage in the gpu perf counters. But imo I think this
> should be handled in the kernel (we neeed to write tons of funny registers
> to set things up anyway), at least for the time-based perf counter
> sampling. For prototyping things with intel_reg_write disabling rc6 at
> module load time seems sufficient to me.
>

The major idea behind this was to provide additional facilities for
controlling power and performance-related details of the driver from
userspace, without module reloading or reboot.

Currently, both the GPU turbo and rc6/fbc operations are mostly autonomous,
there is not much we can influence on their behavior without a reboot or
module reload. So my idea was to have a way to toggle - and in some future,
ideally, fine-tune their behavior from userspace during the execution. For
GPU turbo, we can control it to some point from userspace via
i915_max_freq. And with this patch, we could also control the rps/rc6
behavior to some point as well.

For the perf counters, I thought on the following flow of execution with
this patch:
1. prev_val=$(cat /sys/kernel/debug/dri/0/i915_enable_rc6)
2. echo 0 > /sys/kernel/debug/dri/0/i915_enable_rc6
3. do the perf counters aquisition and testing
4. echo $(prev_val) > /sys/kernel/debug/dri/0/i915_enable_rc6

Comments?

-- 
Eugeni Dodonov
 <http://eugeni.dodonov.net/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20111129/48da5170/attachment.htm>


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux