[Intel-gfx] [PATCH 5.4.y] drm/i915: Don't use BAR mappings for ring buffers with LLC
John Harrison
john.c.harrison at intel.com
Thu Mar 16 20:58:35 UTC 2023
On 3/15/2023 10:57, Greg KH wrote:
> On Wed, Mar 15, 2023 at 10:07:53AM -0700, John Harrison wrote:
>> On 3/15/2023 00:51, Greg KH wrote:
>>> On Mon, Mar 13, 2023 at 07:22:11PM -0700, John.C.Harrison at Intel.com wrote:
>>>> From: John Harrison <John.C.Harrison at Intel.com>
>>>>
>>>> Direction from hardware is that ring buffers should never be mapped
>>>> via the BAR on systems with LLC. There are too many caching pitfalls
>>>> due to the way BAR accesses are routed. So it is safest to just not
>>>> use it.
>>>>
>>>> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
>>>> Fixes: 9d80841ea4c9 ("drm/i915: Allow ringbuffers to be bound anywhere")
>>>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>>>> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
>>>> Cc: Jani Nikula <jani.nikula at linux.intel.com>
>>>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>>>> Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
>>>> Cc: intel-gfx at lists.freedesktop.org
>>>> Cc: <stable at vger.kernel.org> # v4.9+
>>>> Tested-by: Jouni Högander <jouni.hogander at intel.com>
>>>> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>>>> Link: https://patchwork.freedesktop.org/patch/msgid/20230216011101.1909009-3-John.C.Harrison@Intel.com
>>>> (cherry picked from commit 65c08339db1ada87afd6cfe7db8e60bb4851d919)
>>>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>>>> (cherry picked from commit 85636167e3206c3fbd52254fc432991cc4e90194)
>>>> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
>>>> ---
>>>> drivers/gpu/drm/i915/gt/intel_ringbuffer.c | 4 ++--
>>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>> Also queued up for 5.10.y, you forgot that one :)
>> I'm still working through the backlog of them.
>>
>> Note that these patches must all be applied as a pair. The 'don't use
>> stolen' can be applied in isolation but won't totally fix the problem.
>> However, applying 'don't use BAR mappings' without applying the stolen patch
>> first will results in problems such as the failure to boot that was recently
>> reported and resulted in a revert in one of the trees.
> I do not understand, you only submitted 1 patch here, what is the
> "pair"?
The original patch series was two patches -
https://patchwork.freedesktop.org/series/114080/. One to not use stolen
memory and the other to not use BAR mappings. If the anti-BAR patch is
applied without the anti-stolen patch then the i915 driver will attempt
to access stolen memory directly which will fail. So both patches must
be applied and in the correct order to fix the problem of cache aliasing
when using BAR accesses on LLC systems.
As above, I am working my way through the bunch of 'FAILED patch'
emails. The what-to-do instructions in those emails explicitly say to
send the patch individually in reply to the 'FAILED' message rather than
as part of any original series.
John.
More information about the Intel-gfx
mailing list