Re: [Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-26 Thread Chris Wilson
On Tue, Mar 25, 2014 at 07:15:42PM -0700, Stéphane Marchesin wrote:
> On Tue, Mar 25, 2014 at 12:27 AM, Chris Wilson  
> wrote:
> > On Mon, Mar 24, 2014 at 06:21:22PM -0700, Ben Widawsky wrote:
> >> I am not clear why we've never enabled it by default for GEN7. Looking
> >> at the git hostiry, it seems Rodrigo disabled it by default, and it's
> >> never been turned on. Quite a few fixes have gone in over the past year,
> >> and I think many of us are running this successfully.
> >>
> >> If there is some reason we know of why we don't enable this by default
> >> on GEN7, then please ignore the patch, and forgive my laziness.
> >
> > Other than the major performance degredation due to our implementation,
> 
> That sounds interesting, can you elaborate on the performance
> degradation? I haven't noticed any, but of course I don't know how
> it's supposed to behave...

The way we setup the FBC is that it causes it to be invalidated after
every operation (not just batch, or upon flushing the framebuffer). The
impact of this is that lightweight 3D rendering operations such as firefox
are about 60% slower, game impact though is less than 10% (more often in the
noise), and all but the most GPU bound of BLT operations are orders of
magnitude slower. All of this is mitigable by disabling FBC invalidations
except when we write to the scanout.

https://bugs.freedesktop.org/show_bug.cgi?id=72023
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-25 Thread Stéphane Marchesin
On Tue, Mar 25, 2014 at 12:27 AM, Chris Wilson  wrote:
> On Mon, Mar 24, 2014 at 06:21:22PM -0700, Ben Widawsky wrote:
>> I am not clear why we've never enabled it by default for GEN7. Looking
>> at the git hostiry, it seems Rodrigo disabled it by default, and it's
>> never been turned on. Quite a few fixes have gone in over the past year,
>> and I think many of us are running this successfully.
>>
>> If there is some reason we know of why we don't enable this by default
>> on GEN7, then please ignore the patch, and forgive my laziness.
>
> Other than the major performance degredation due to our implementation,

That sounds interesting, can you elaborate on the performance
degradation? I haven't noticed any, but of course I don't know how
it's supposed to behave...

Stéphane
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-25 Thread Daniel Vetter
On Tue, Mar 25, 2014 at 8:27 AM, Chris Wilson  wrote:
> On Mon, Mar 24, 2014 at 06:21:22PM -0700, Ben Widawsky wrote:
>> I am not clear why we've never enabled it by default for GEN7. Looking
>> at the git hostiry, it seems Rodrigo disabled it by default, and it's
>> never been turned on. Quite a few fixes have gone in over the past year,
>> and I think many of us are running this successfully.
>>
>> If there is some reason we know of why we don't enable this by default
>> on GEN7, then please ignore the patch, and forgive my laziness.
>
> Other than the major performance degredation due to our implementation,
> and that there is a known deadlock (when unplugging/plugging in external
> displays) due to the broken locking... It should not have been enabled.

Also, have you run the full kms_fbc_crc testsuite to make sure it's
actually functionally correct? Iirc we even fail at that stage still
on some platforms ...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-25 Thread Chris Wilson
On Mon, Mar 24, 2014 at 06:21:22PM -0700, Ben Widawsky wrote:
> I am not clear why we've never enabled it by default for GEN7. Looking
> at the git hostiry, it seems Rodrigo disabled it by default, and it's
> never been turned on. Quite a few fixes have gone in over the past year,
> and I think many of us are running this successfully.
> 
> If there is some reason we know of why we don't enable this by default
> on GEN7, then please ignore the patch, and forgive my laziness.

Other than the major performance degredation due to our implementation,
and that there is a known deadlock (when unplugging/plugging in external
displays) due to the broken locking... It should not have been enabled.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-24 Thread Stéphane Marchesin
On Mon, Mar 24, 2014 at 6:46 PM, Ben Widawsky  wrote:
> On Mon, Mar 24, 2014 at 06:41:47PM -0700, Stéphane Marchesin wrote:
>> On Mon, Mar 24, 2014 at 6:21 PM, Ben Widawsky
>>  wrote:
>> > I am not clear why we've never enabled it by default for GEN7. Looking
>> > at the git hostiry, it seems Rodrigo disabled it by default, and it's
>> > never been turned on. Quite a few fixes have gone in over the past year,
>> > and I think many of us are running this successfully.
>>
>> Did you try with a high resolution panel? I could never get IVB FBC to
>> be completely stable with a 2560x1700 panel...
>>
>> Stéphane
>
> 1600x900 is working fine. At my current laziness, that's the best I can
> test. I can try on a higher resolution tomorrow.  Perhaps the solution
> would be to disable if the resolution goes above a certain point.
>
> Honestly, I assumed there was a reason it was disabled, I just couldn't
> find it.

For what it's worth, it's fine for me up to 2k wide. Things seem to go
bad above that.

Stéphane

>
>>
>> >
>> > If there is some reason we know of why we don't enable this by default
>> > on GEN7, then please ignore the patch, and forgive my laziness.
>> >
>> > Cc: Rodrigo Vivi 
>> > Signed-off-by: Ben Widawsky 
>> > ---
>> >  drivers/gpu/drm/i915/intel_pm.c | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>> > b/drivers/gpu/drm/i915/intel_pm.c
>> > index a7da962..a9890df 100644
>> > --- a/drivers/gpu/drm/i915/intel_pm.c
>> > +++ b/drivers/gpu/drm/i915/intel_pm.c
>> > @@ -512,7 +512,7 @@ void intel_update_fbc(struct drm_device *dev)
>> > adjusted_mode = &intel_crtc->config.adjusted_mode;
>> >
>> > if (i915.enable_fbc < 0 &&
>> > -   INTEL_INFO(dev)->gen <= 7 && !IS_HASWELL(dev)) {
>> > +   INTEL_INFO(dev)->gen <= 6) {
>> > if (set_no_fbc_reason(dev_priv, FBC_CHIP_DEFAULT))
>> > DRM_DEBUG_KMS("disabled per chip default\n");
>> > goto out_disable;
>> > --
>> > 1.9.1
>> >
>> > ___
>> > Intel-gfx mailing list
>> > Intel-gfx@lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>> ___
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ben Widawsky, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-24 Thread Ben Widawsky
On Mon, Mar 24, 2014 at 06:41:47PM -0700, Stéphane Marchesin wrote:
> On Mon, Mar 24, 2014 at 6:21 PM, Ben Widawsky
>  wrote:
> > I am not clear why we've never enabled it by default for GEN7. Looking
> > at the git hostiry, it seems Rodrigo disabled it by default, and it's
> > never been turned on. Quite a few fixes have gone in over the past year,
> > and I think many of us are running this successfully.
> 
> Did you try with a high resolution panel? I could never get IVB FBC to
> be completely stable with a 2560x1700 panel...
> 
> Stéphane

1600x900 is working fine. At my current laziness, that's the best I can
test. I can try on a higher resolution tomorrow.  Perhaps the solution
would be to disable if the resolution goes above a certain point.

Honestly, I assumed there was a reason it was disabled, I just couldn't
find it.

> 
> >
> > If there is some reason we know of why we don't enable this by default
> > on GEN7, then please ignore the patch, and forgive my laziness.
> >
> > Cc: Rodrigo Vivi 
> > Signed-off-by: Ben Widawsky 
> > ---
> >  drivers/gpu/drm/i915/intel_pm.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_pm.c 
> > b/drivers/gpu/drm/i915/intel_pm.c
> > index a7da962..a9890df 100644
> > --- a/drivers/gpu/drm/i915/intel_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > @@ -512,7 +512,7 @@ void intel_update_fbc(struct drm_device *dev)
> > adjusted_mode = &intel_crtc->config.adjusted_mode;
> >
> > if (i915.enable_fbc < 0 &&
> > -   INTEL_INFO(dev)->gen <= 7 && !IS_HASWELL(dev)) {
> > +   INTEL_INFO(dev)->gen <= 6) {
> > if (set_no_fbc_reason(dev_priv, FBC_CHIP_DEFAULT))
> > DRM_DEBUG_KMS("disabled per chip default\n");
> > goto out_disable;
> > --
> > 1.9.1
> >
> > ___
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ben Widawsky, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-24 Thread Stéphane Marchesin
On Mon, Mar 24, 2014 at 6:21 PM, Ben Widawsky
 wrote:
> I am not clear why we've never enabled it by default for GEN7. Looking
> at the git hostiry, it seems Rodrigo disabled it by default, and it's
> never been turned on. Quite a few fixes have gone in over the past year,
> and I think many of us are running this successfully.

Did you try with a high resolution panel? I could never get IVB FBC to
be completely stable with a 2560x1700 panel...

Stéphane

>
> If there is some reason we know of why we don't enable this by default
> on GEN7, then please ignore the patch, and forgive my laziness.
>
> Cc: Rodrigo Vivi 
> Signed-off-by: Ben Widawsky 
> ---
>  drivers/gpu/drm/i915/intel_pm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index a7da962..a9890df 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -512,7 +512,7 @@ void intel_update_fbc(struct drm_device *dev)
> adjusted_mode = &intel_crtc->config.adjusted_mode;
>
> if (i915.enable_fbc < 0 &&
> -   INTEL_INFO(dev)->gen <= 7 && !IS_HASWELL(dev)) {
> +   INTEL_INFO(dev)->gen <= 6) {
> if (set_no_fbc_reason(dev_priv, FBC_CHIP_DEFAULT))
> DRM_DEBUG_KMS("disabled per chip default\n");
> goto out_disable;
> --
> 1.9.1
>
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] drm/i915: Enable FBC on GEN7 by default

2014-03-24 Thread Ben Widawsky
I am not clear why we've never enabled it by default for GEN7. Looking
at the git hostiry, it seems Rodrigo disabled it by default, and it's
never been turned on. Quite a few fixes have gone in over the past year,
and I think many of us are running this successfully.

If there is some reason we know of why we don't enable this by default
on GEN7, then please ignore the patch, and forgive my laziness.

Cc: Rodrigo Vivi 
Signed-off-by: Ben Widawsky 
---
 drivers/gpu/drm/i915/intel_pm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index a7da962..a9890df 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -512,7 +512,7 @@ void intel_update_fbc(struct drm_device *dev)
adjusted_mode = &intel_crtc->config.adjusted_mode;
 
if (i915.enable_fbc < 0 &&
-   INTEL_INFO(dev)->gen <= 7 && !IS_HASWELL(dev)) {
+   INTEL_INFO(dev)->gen <= 6) {
if (set_no_fbc_reason(dev_priv, FBC_CHIP_DEFAULT))
DRM_DEBUG_KMS("disabled per chip default\n");
goto out_disable;
-- 
1.9.1

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx