Bug 88975 - [hsw hidpi fbc] Log Message Spamming - "Reducing the compressed framebuffer size..."
Summary: [hsw hidpi fbc] Log Message Spamming - "Reducing the compressed framebuffer s...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-05 02:47 UTC by Christopher Wawak
Modified: 2017-07-24 22:48 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Christopher Wawak 2015-02-05 02:47:08 UTC
OS: Fedora 21
Kernel: Linux system 3.18.3-201.fc21.x86_64 #1 SMP Mon Jan 19 15:59:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Hardware: 2014 Lenovo Thinkpad X1 Carbon, HiDPI screen
Chipset: 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
DRI driver: i965
libdrm-2.4.58-3.fc21.x86_64

Issue: 
When I enable FBC via kernel command line options (i915.enable_fbc=1), I noticed the following message spam ~30 times a second, every second to my journal:

[drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.

This log messages seems to have come in here: https://freedesktop.org/patch/28264/

When I remove that command line option, the log message goes away.

Expected behavior:
Having only one occurance of this log message on boot seems like plenty of information to let me know that I am not getting quite the compression or power savings that I would get if I could increase stolen memory size (I looked through the BIOS, it appears that I can't, even after increasing the video memory reservation to 512MB from 256MB).

Is there a particular reason why this message is spammed hundreds of times a minute? Is it possible that a change be made to reduce this log spam, which seems like it could affect battery life?

Thanks!

Chris
Comment 1 Jani Nikula 2015-02-05 08:39:02 UTC
We should probably do something about the logging, too, but I think in this case it's a symptom of another bug that needs to be fixed.

This is cargo culting, but please try

diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index a2045848bd1a..b7dd1b2fa4b9 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -253,7 +253,7 @@ int i915_gem_stolen_setup_compression(struct drm_device *dev, int size, int fb_c
 	if (!drm_mm_initialized(&dev_priv->mm.stolen))
 		return -ENODEV;
 
-	if (size < dev_priv->fbc.size)
+	if (size < dev_priv->fbc.size * dev_priv->fbc.threshold)
 		return 0;
 
 	/* Release any current block */
Comment 2 Jani Nikula 2015-02-05 10:05:28 UTC
(In reply to Jani Nikula from comment #1)
> This is cargo culting, but please try

Scratch that, please try this instead
http://patchwork.freedesktop.org/patch/41758
Comment 3 Jani Nikula 2015-02-05 10:09:19 UTC
(In reply to Jani Nikula from comment #2)
> Scratch that, please try this instead
> http://patchwork.freedesktop.org/patch/41758

Oh,  btw, that applies to drm-intel-nightly branch of http://cgit.freedesktop.org/drm-intel
Comment 4 Christopher Wawak 2015-02-05 18:19:03 UTC
Hi Jan,

I have no idea how I would pull out the existing DRI subsystem in F21 and replace it with the -next branch, so I opened a Fedora bug (RHBZ# 1189889) to see if I can get some traction within the Fedora community for this. Thanks for your prompt attention, and as soon as I can test the code I will report back!

Chris
Comment 5 Jani Nikula 2015-02-09 14:20:19 UTC
commit c021463b874119ddea9745ad5efe82b4f543a78c
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Thu Feb 5 12:04:27 2015 +0200

    drm/i915/fbc: fix the check for already reserved fbc size

in drm-intel-nightly.

Thanks for the report.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.