[PATCH] drm/mgag200: Enable caching for SHMEM pages

Rong Chen rong.a.chen at intel.com
Tue Jun 23 08:41:57 UTC 2020



On 6/22/20 11:12 PM, Thomas Zimmermann wrote:
> Hi
>
> Am 22.06.20 um 17:00 schrieb Rong Chen:
>> Hi Thomas,
>>
>> I tested the patch based on commit 24b806b0a1dd3, the regression
> Thanks!
>
>> of phoronix-test-suite.glmark2.1024x768.score still exists:
> I expected that the test is related to drawing onto the screen.

Hi Thomas,

This server doesn't connect a monitor.

> Do you
> know what exactly it is testing?

It's a glmark2 test, please see 
https://openbenchmarking.org/test/pts/glmark2
the test command is ./glmark2 --annotate -s 1024x768

Best Regards,
Rong Chen


> Best regards
> Thomas
>
>> 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 <tzimmermann at suse.de>
>>> Fixes: 913ec479bb5c ("drm/mgag200: Replace VRAM helpers with SHMEM helpers")
>>> Cc: Thomas Zimmermann <tzimmermann at suse.de>
>>> Cc: Emil Velikov <emil.velikov at collabora.com>
>>> Cc: Dave Airlie <airlied at redhat.com>
>>> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
>>> Cc: Krzysztof Kozlowski <krzk at kernel.org>
>>> Cc: Gerd Hoffmann <kraxel at redhat.com>
>>> Cc: Sam Ravnborg <sam at ravnborg.org>
>>> Cc: Rong Chen <rong.a.chen at intel.com>
>>> Cc: John Donnelly <john.p.donnelly at Oracle.com>
>>> 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
>>>



More information about the dri-devel mailing list