[Intel-gfx] i915: Regression: +4W in idle power use on Macbook Pro 15 (late 2013)

Lu, Ran hephooey at gmail.com
Thu Aug 28 22:08:12 CEST 2014


Hi,

On Tuesday 26 August 2014 16:00:51, Eric Rannaud wrote:
> On Tue, Aug 26, 2014 at 1:59 PM, Daniel Vetter <daniel.vetter at ffwll.ch> 
wrote:
> >> Forcing FBC with i915.enable_fbc=1 brings the idle power consumption
> >> back to under 7W, however.
> >> This is all on 3.15.4-ARCH-00041-gf4db98240ac2.
> > 
> > Any significant changes in package C state as reported in powertop?
> > Indeed fairly impressive how much fbc saves here ...
> 
> Not that I can tell.
>     Powertop report with FBC: http://pastebin.com/5qfJKpTQ
>     Without FBC: http://pastebin.com/NaYkR4n0
> 
> Some highly uneducated guesses on what could explain a +4W jump with no FBC:
> 
> #1- The higher DRAM and bus duty cycle during scanout is enough to
> prevent some DRAM subsystems from sleeping, by crossing some tight
> threshold (maybe Apple has FBC enabled, so parameters somewhere in
> firmware are tuned for the lower level of background activity they
> expect with FBC on?). Not much we can do about that, unless such
> parameters can be tweaked by us.
> 
> #2- Without FBC, the FB doesn't fit in L3 (i7-4750HQ has 6MB,
> 2880x1800 compressed at least 1:4 fits), keeping the DRAM awake more.
> 
> #3- Disabling FBC somehow affects the layout of the framebuffer in
> DRAM, keeping more of the DRAM active and awake during scanout.
> Different tiling, swizzling, etc. parameters? Is it worth looking at
> the code for that kind of thing? To be clear, I'm (blindly) suggesting
> that it might be possible to increase the locality of the framebuffer
> in physical DRAM, even without compression enabled.

I notices similar behavior. From the output of turborstat, with FBC MBP can 
reach PC6 more than 90% of the time when idling, after FBC was disable in 3.14 
or 3.15 the chip stays in PC2 and the estimated GPU power consumption is a few 
watts higher.

-- 
Best Regards,
LR



More information about the Intel-gfx mailing list