Hi Thomas,

I tested the patch based on commit 24b806b0a1dd3, the regression
of phoronix-test-suite.glmark2.1024x768.score still exists:

1f58fcaf27cb7 drm/mgag200: Enable caching for SHMEM pages                       
                     2 2 2
24b806b0a1dd3 drm-tip: 2020y-06m-22d-07h-52m-06s UTC integration manifest       
                     2 2 2 2 2
913ec479bb5cc drm/mgag200: Replace VRAM helpers with SHMEM helpers              
                     2 2 2 2 2
88fabb75ea9ed drm/mgag200: Convert to simple KMS helper                         
                     165 168 167 165 164

Best Regards,
Rong Chen

On Thu, Jun 18, 2020 at 03:34:35PM +0200, Thomas Zimmermann wrote:
> We've had reports about performance regressions after switching
> mgag200 from VRAM helpers to SHMEM helpers. SHMEM pages use
> writecombine caching by default, but can also use the platform's
> default page caching. Doing so improves the performance of I/O
> on the framebuffer.
> 
> Mgag200's hardware does not access framebuffer pages directly (i.e.,
> via DMA), so enabling caching does not have an effect on consistency
> of the framebuffer memory or the displayed data.
> 
> Signed-off-by: Thomas Zimmermann <[email protected]>
> Fixes: 913ec479bb5c ("drm/mgag200: Replace VRAM helpers with SHMEM helpers")
> Cc: Thomas Zimmermann <[email protected]>
> Cc: Emil Velikov <[email protected]>
> Cc: Dave Airlie <[email protected]>
> Cc: Daniel Vetter <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>
> Cc: Gerd Hoffmann <[email protected]>
> Cc: Sam Ravnborg <[email protected]>
> Cc: Rong Chen <[email protected]>
> Cc: John Donnelly <[email protected]>
> Link: https://lore.kernel.org/dri-devel/20200617092252.GA5279@shao2-debian/
> ---
>  drivers/gpu/drm/mgag200/mgag200_drv.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c 
> b/drivers/gpu/drm/mgag200/mgag200_drv.c
> index e19660f4a637..7189c7745baf 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_drv.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
> @@ -36,6 +36,7 @@ static struct drm_driver mgag200_driver = {
>       .major = DRIVER_MAJOR,
>       .minor = DRIVER_MINOR,
>       .patchlevel = DRIVER_PATCHLEVEL,
> +     .gem_create_object = drm_gem_shmem_create_object_cached,
>       DRM_GEM_SHMEM_DRIVER_OPS,
>  };
>  
> -- 
> 2.27.0
> 
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to