All of lore.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.