Re: [Mesa-dev] [PATCH] i965: Use tex_mocs instead of rb_mocs for GL images.
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.
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 - > &brw->wm.base.surf_offset[0]; > > brw_emit_surface_state(brw, mt, &view, > - 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.
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 - &brw->wm.base.surf_offset[0]; brw_emit_surface_state(brw, mt, &view, - 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