• Zack Rusin's avatar
    drm/vmwgfx: Optimize initial sizes of cotables · 148e5f55
    Zack Rusin authored
    It's important to get the initial size of cotables right because
    otherwise every app needs to start with a synchronous cotable resize.
    
    This has an measurable impact on system wide performance but is not
    relevant for long running single full screen apps for which the cotable
    resizes will happen early in the lifecycle and will continue running
    just fine.
    
    To eliminate the initial cotable resizes match the initial sizes to what
    the userspace expects. The actual result of the patch is simply setting
    the initial size of two of the cotables to a size that will align them
    to two pages instead of one.
    
    For a piglit run, before:
    name               |  total |  per frame | per sec
    vmw_cotable_resize |   1405 |       0.12 |    1.58
    vmw_execbuf_ioctl  | 290805 |      25.43 |  326.05
    
    After:
    name               |  total |  per frame | per sec
    vmw_cotable_resize |      4 |       0.00 |    0.00
    vmw_execbuf_ioctl  | 281673 |      25.10 |  274.68
    Signed-off-by: default avatarZack Rusin <zackr@vmware.com>
    Reviewed-by: default avatarMichael Banack <banackm@vmware.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20221022040236.616490-17-zack@kde.org
    148e5f55
vmwgfx_cotable.c 19.5 KB