public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Paulo Zanoni <paulo.r.zanoni@intel.com>
To: David Weinehall <david.weinehall@linux.intel.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Takashi Iwai <tiwai@suse.de>,
	"Kaskinen, Tanu" <tanu.kaskinen@intel.com>,
	Liam Girdwood <liam.r.girdwood@intel.com>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH] drm/i915: Enable runtime pm
Date: Thu, 16 Nov 2017 18:45:26 -0200	[thread overview]
Message-ID: <1510865126.22559.44.camel@intel.com> (raw)
In-Reply-To: <20171116182402.xgjc2jyzxuz3nhxs@boom>

Em Qui, 2017-11-16 às 20:24 +0200, David Weinehall escreveu:
> On Wed, Nov 08, 2017 at 04:25:42PM +0200, David Weinehall wrote:
> > On Tue, Nov 07, 2017 at 05:18:21PM +0100, Daniel Vetter wrote:
> > > Now that we have CI, and that pm_rpm fully passes (I guess the
> > > audio
> > > folks have implemented proper runtime pm for snd-hda, hooray, pls
> > > confirm) it's time to enable this again by default.
> > > 
> > > Real goal here is to have 1 configuration only that we fully
> > > support,
> > > instead of tons of different codes with every user/customer
> > > tuning it
> > > differently. And really, power stuff should work by default, and
> > > should be enabled by everywhere where it is save to do so.
> > > 
> > > v2: Completely new commit message, a few years passed since v1
> > > ...
> > > 
> > > Cc: Takashi Iwai <tiwai@suse.de>
> > > Cc: Liam Girdwood <liam.r.girdwood@intel.com>
> > > Cc: "Yang, Libin" <libin.yang@intel.com>
> > > Cc: "Lin, Mengdong" <mengdong.lin@intel.com>
> > > Cc: "Li, Jocelyn" <jocelyn.li@intel.com>
> > > Cc: "Kaskinen, Tanu" <tanu.kaskinen@intel.com>
> > > Cc: "Zanoni, Paulo R" <paulo.r.zanoni@intel.com>
> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > 
> > lgtm,
> > 
> > Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
> 
> Been testing a bit; test results are a bit discouraging when it comes
> to
> idle power consumption.
> 
> Our nightly test suite logs idle power consumption before running any
> tests, after running all tests, and then finally after running
> powertop --auto-tune.
> 
> The before and after cases are similar with and without patch,
> but not so for the auto-tune case.
> 
> Without this patch, powertop --auto-tune yields a massive improvement
> (on NUC6i5 the power consumption drops with more than a factor of 3),
> while with this patch the power consumption just drops with 10% or
> so.

What happens if you keep the autosuspend delay to 10000?


> 
> Judging by the powertop output it seems as though we're getting a lot
> of
> interrupts from i915.
> 
>  *  *  *   Top 10 Power Consumers   *  *  *
> 
> With patch:
> 
> Usage;Events/s;Category;Description
>   0,5%; 75,1;Interrupt;[124] i915
>   0,3%; 48,4;Process;/usr/lib/xorg/Xorg -core :0 -seat seat0 -auth
> /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
>   0,1%; 42,8;Timer;hrtimer_wakeup
>   0,0%; 34,9;Timer;tick_sched_timer
>   4,2%;  1,1;kWork;i915_hpd_poll_init_work
>   0,1%; 14,0;Process;python2 /opt/scripts/dut/dutlaunch/launch2.py --
> workspace=/opt/jenkins/workspace/Custom_test --iterations=1
> idlepower_before un
>   0,0%; 13,3;Process;[rcu_preempt]
>   0,8%;  1,7;Process;python /opt/scripts/dut/perf-meter.py --avgskip
> 1 --name perf-meter --infofile /tmp/testname GLBenchmark testfw_app
> synmark2 he
>   0,0%;  3,0;Process;compiz
>   0,7%; 0,11;kWork;output_poll_execute
> 
> Without the patch:
> 
> Usage;Events/s;Category;Description
>   0,0%; 29,1;Timer;tick_sched_timer
>   0,1%; 19,9;Process;python2 /opt/scripts/dut/dutlaunch/launch.py --
> workspace=/opt/jenkins/workspace/Nightly_kernel_test/kernel/151077366
> 5/SKL_6260U
>   0,0%; 13,2;Process;[rcu_preempt]
>   0,8%;  1,6;Process;python /opt/scripts/dut/perf-meter.py --avgskip
> 1 --name perf-meter --infofile /tmp/testname GLBenchmark testfw_app
> synmark2 he
>   0,0%;  2,5;Process;compiz
>   0,0%;  1,5;Process;java -jar slave.jar
>   0,0%;  1,2;Interrupt;[3] net_rx(softirq)
>   0,0%;  1,0;kWork;pci_pme_list_scan
>   0,0%;  0,9;Interrupt;[121] xhci_hcd
>   0,1%;  0,5;Process;perf-meter
> 
> As can be seen the i915 driver doesn't even show up without the
> patch,
> while it's the main culprit with the patch.
> 
> Just to eliminate DMC issues I'm going to do another run, but with
> DMC
> v1.27 instead of v1.26.
> 
> 
> Kind regards, David
> 
> > 
> > > ---
> > >  drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > index 8315499452dc..dc24d008d8d4 100644
> > > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > @@ -3232,7 +3232,7 @@ void intel_runtime_pm_enable(struct
> > > drm_i915_private *dev_priv)
> > >  	struct pci_dev *pdev = dev_priv->drm.pdev;
> > >  	struct device *kdev = &pdev->dev;
> > >  
> > > -	pm_runtime_set_autosuspend_delay(kdev, 10000); /* 10s */
> > > +	pm_runtime_set_autosuspend_delay(kdev, 100);
> > >  	pm_runtime_mark_last_busy(kdev);
> > >  
> > >  	/*
> > > @@ -3251,6 +3251,8 @@ void intel_runtime_pm_enable(struct
> > > drm_i915_private *dev_priv)
> > >  		pm_runtime_use_autosuspend(kdev);
> > >  	}
> > >  
> > > +	pm_runtime_allow(kdev);
> > > +
> > >  	/*
> > >  	 * The core calls the driver load handler with an RPM
> > > reference held.
> > >  	 * We drop that here and will reacquire it during
> > > unloading in
> > > -- 
> > > 2.15.0.rc2
> > > 
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-11-16 20:45 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-07 16:18 [PATCH] drm/i915: Enable runtime pm Daniel Vetter
2017-11-07 16:38 ` ✗ Fi.CI.BAT: failure for " Patchwork
2017-11-07 16:45 ` [PATCH] " Jani Nikula
2017-11-07 16:53   ` Daniel Vetter
2017-11-08 12:24 ` ✗ Fi.CI.BAT: warning for " Patchwork
2017-11-08 14:25 ` [PATCH] " David Weinehall
2017-11-16 18:24   ` David Weinehall
2017-11-16 20:45     ` Paulo Zanoni [this message]
2017-11-16 21:11       ` Chris Wilson
2017-11-17  8:39     ` David Weinehall
  -- strict thread matches above, loose matches on Subject: below --
2015-05-08 18:51 Daniel Vetter
2015-05-09 14:59 ` shuang.he
2015-05-12 17:40 ` Jesse Barnes
2015-06-16  8:34 ` Daniel Vetter
2015-06-16 10:42   ` Liam Girdwood
2015-06-18  7:46     ` Yang, Libin
2015-06-16 12:23   ` Paulo Zanoni
2015-06-16 12:26     ` Paulo Zanoni
2015-06-16 18:40       ` Jesse Barnes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1510865126.22559.44.camel@intel.com \
    --to=paulo.r.zanoni@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=david.weinehall@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=liam.r.girdwood@intel.com \
    --cc=tanu.kaskinen@intel.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox