[Intel-gfx] [PATCH] [v3] drm/i915/hsw: Change default LLC age to 3

Ben Widawsky ben at bwidawsk.net
Sun Aug 4 22:55:41 CEST 2013


On Sun, Aug 04, 2013 at 09:10:25PM +0200, Daniel Vetter wrote:
> On Fri, Aug 2, 2013 at 12:56 AM, Ben Widawsky <ben at bwidawsk.net> wrote:
> > The default LLC age was changed:
> > commit 0d8ff15e9a15f2b393e53337a107b7a1e5919b6d
> > Author: Ben Widawsky <benjamin.widawsky at intel.com>
> > Date:   Thu Jul 4 11:02:03 2013 -0700
> >
> > drm/i915/hsw: Set correct Haswell PTE encodings.
> >
> > This caused a regression in performance on certain benchmarks. While I
> > think a discussion still needs to happen about how the kernel should
> > default for both eLLC, and LLC - just revert this behavior for now.
> >
> > v2: Drop the extra #define (Chad)
> >
> > v3: Actually git add
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67062
> > Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> > Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
> 
> iris_pte_encode was split up after the regressing commit in
> 
> commit 4d15c145a6234d999c0452eec0d275c1fbf0688c
> Author: Ben Widawsky <ben at bwidawsk.net>
> Date:   Thu Jul 4 11:02:06 2013 -0700
> 
>     drm/i915: Use eLLC/LLC by default when available
> 
> Hence I think that one should be patched, too (QA doesn't have an iris
> machine afaik, so no regression report expected). And since I have
> some open questions about Chris WT-for-Iris patch too I think it's
> best to spin a v4 of this one here.
> -Daniel
> 

We've come up with a theory as to why this was a regression (which I
think nullifies your request for the eLLC version)

On the surface, one would think that aging all objects equally, whether
they be oldest, or youngest, makes no difference. The key with LLC is
that it is shared with the CPU, and presumably the CPU follows the
normal cache aging FIFO rules (ie. everything is aged 3). On this logic,
eLLC would not share the same flaw. I think it makes sense to have
someone prove we need it for eLLC, as this does allow mesa/DDX to get 2
differently aged eLLC objects, which they cannot do if we default to 3.
On the same note, even LLC age 0 is still ideal in my opinion, but was
asked to not do this so that meas 9.2 doesn't have performance
regressions.


[snip]

-- 
Ben Widawsky, Intel Open Source Technology Center



More information about the Intel-gfx mailing list