Re: [Mesa-dev] [PATCH] i965: Use tex_mocs instead of rb_mocs for GL images.

2016-07-19 Thread Kenneth Graunke
On Monday, July 18, 2016 10:58:31 PM PDT Ben Widawsky wrote:
> On Mon, Jul 18, 2016 at 07:08:46PM -0700, Kenneth Graunke wrote:
> > Fixes a 10-20% performance regression in OglCSDof caused by commit
> > 5a8c89038abab0184ea72664ab390ec6ca58b4d6, which made images (in the
> > image load/store sense) use BDW_MOCS_PTE instead of BDW_MOCS_WB.
> > 
> > This seems sketchy, as the default PTE value is supposed to be
> > WB LLC eLLC, which is the same as our MOCS WB setting.  It's only
> > supposed to change when using a surface for display, which won't
> > ever happen for images.  Something may be wrong in the kernel...
> 
> Which platform was the regression on? Broadwell has some weirdness if you
> disable PPGTT which might cause PTE MOCS to fall back to UC. I think at least
> aliasing PPGTT has been enabled since pretty early for Broadwell. If there is 
> no
> ppgtt overrides here, then I'm not sure what would be going on - it sound
> sketchy to me too.

My Broadwell GT2 laptop running drm-intel-nightly from
2016y-05m-27d-12h-32m-45s (4.6.0 based), and Mark's Broadwell GT3e
boxes in Jenkins.

I tried to verify the kernel PTE settings, but I got totally lost
by the _PAGE_PAT stuff.  Earlier platforms I can follow easily...

This patch fixes the observed problem, but I still would like to
understand why the PTE isn't good enough...for renderbuffers, we
use the "Use PTE" setting...and could be missing out on some
performance there...


signature.asc
Description: This is a digitally signed message part.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] i965: Use tex_mocs instead of rb_mocs for GL images.

2016-07-18 Thread Ben Widawsky
On Mon, Jul 18, 2016 at 07:08:46PM -0700, Kenneth Graunke wrote:
> Fixes a 10-20% performance regression in OglCSDof caused by commit
> 5a8c89038abab0184ea72664ab390ec6ca58b4d6, which made images (in the
> image load/store sense) use BDW_MOCS_PTE instead of BDW_MOCS_WB.
> 
> This seems sketchy, as the default PTE value is supposed to be
> WB LLC eLLC, which is the same as our MOCS WB setting.  It's only
> supposed to change when using a surface for display, which won't
> ever happen for images.  Something may be wrong in the kernel...

Which platform was the regression on? Broadwell has some weirdness if you
disable PPGTT which might cause PTE MOCS to fall back to UC. I think at least
aliasing PPGTT has been enabled since pretty early for Broadwell. If there is no
ppgtt overrides here, then I'm not sure what would be going on - it sound
sketchy to me too.

> 
> Signed-off-by: Kenneth Graunke 
> Reviewed-by: Jason Ekstrand 

I haven't really followed any of the isl stuff, but it lgtm.


> ---
>  src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c 
> b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> index d896789..87f8601 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> @@ -1516,7 +1516,7 @@ update_image_surface(struct brw_context *brw,
>  const int surf_index = surf_offset - 
> >wm.base.surf_offset[0];
>  
>  brw_emit_surface_state(brw, mt, ,
> -   surface_state_infos[brw->gen].rb_mocs, 
> false,
> +   surface_state_infos[brw->gen].tex_mocs, 
> false,
> surf_offset, surf_index,
> I915_GEM_DOMAIN_SAMPLER,
> access == GL_READ_ONLY ? 0 :
> -- 
> 2.9.0
> 

-- 
Ben Widawsky, Intel Open Source Technology Center
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] i965: Use tex_mocs instead of rb_mocs for GL images.

2016-07-18 Thread Kenneth Graunke
Fixes a 10-20% performance regression in OglCSDof caused by commit
5a8c89038abab0184ea72664ab390ec6ca58b4d6, which made images (in the
image load/store sense) use BDW_MOCS_PTE instead of BDW_MOCS_WB.

This seems sketchy, as the default PTE value is supposed to be
WB LLC eLLC, which is the same as our MOCS WB setting.  It's only
supposed to change when using a surface for display, which won't
ever happen for images.  Something may be wrong in the kernel...

Signed-off-by: Kenneth Graunke 
Reviewed-by: Jason Ekstrand 
---
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c 
b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
index d896789..87f8601 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -1516,7 +1516,7 @@ update_image_surface(struct brw_context *brw,
 const int surf_index = surf_offset - >wm.base.surf_offset[0];
 
 brw_emit_surface_state(brw, mt, ,
-   surface_state_infos[brw->gen].rb_mocs, 
false,
+   surface_state_infos[brw->gen].tex_mocs, 
false,
surf_offset, surf_index,
I915_GEM_DOMAIN_SAMPLER,
access == GL_READ_ONLY ? 0 :
-- 
2.9.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev