[Intel-gfx] [PATCH 2/2] drm/i915: add debugfs interface to control rc6 and rps
eugeni at dodonov.net
Tue Nov 29 06:26:23 PST 2011
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
> > > 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
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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Intel-gfx