[PATCH 7/9] drm/amdgpu: Throttle visible VRAM moves separately
John Brooks
john at fastquake.com
Mon Jun 26 22:29:32 UTC 2017
On Mon, Jun 26, 2017 at 06:44:30PM +0900, Michel Dänzer wrote:
> On 24/06/17 02:39 AM, John Brooks wrote:
> > The BO move throttling code is designed to allow VRAM to fill quickly if it
> > is relatively empty. However, this does not take into account situations
> > where the visible VRAM is smaller than total VRAM, and total VRAM may not
> > be close to full but the visible VRAM segment is under pressure. In such
> > situations, visible VRAM would experience unrestricted swapping and
> > performance would drop.
> >
> > Add a separate counter specifically for moves involving visible VRAM, and
> > check it before moving BOs there.
> >
> > Fixes: 95844d20ae02 (drm/amdgpu: throttle buffer migrations at CS using a fixed MBps limit (v2))
> > Signed-off-by: John Brooks <john at fastquake.com>
>
> Something like this patch is definitely needed, good catch.
>
> However, as is one issue is that it incurs CPU overhead even when all of
> VRAM is CPU visible. Can that be avoided somehow?
>
I guess that depends which part of it you consider to be expensive.
bytes_moved_vis_threshold isn't used unless visible VRAM is smaller than total
VRAM, so any work/instructions that go into computing it could be skipped in
that case (at the cost of checking that visible_vram_size < real_vram_size)
Would that help?
John
>
> --
> Earthling Michel Dänzer | http://www.amd.com
> Libre software enthusiast | Mesa and X developer
More information about the amd-gfx
mailing list