util/disk_cache: Re-enable multi-file cache by default
Over past months a performance issue was found with the Mesa-DB cache implementation that results in a too slow cache startup time when cache is full. A better indexing strategy will need to be invented to mitigate the issue. Until then, let's default back to the multi-file cache. Suggested-by: Michel Dänzer <mdaenzer@redhat.com> Acked-by: Timothy Arceri <tarceri@itsqueeze.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34199>
This commit is contained in:
committed by
Marge Bot
parent
9822fa3ef3
commit
300b6f7371
@@ -201,10 +201,10 @@ Core Mesa environment variables
|
||||
|
||||
if set, determines the directory to be used for the on-disk cache of
|
||||
compiled shader programs. If set then the cache will be stored in
|
||||
``$MESA_SHADER_CACHE_DIR/mesa_shader_cache_db``. If this variable is not
|
||||
``$MESA_SHADER_CACHE_DIR/mesa_shader_cache``. If this variable is not
|
||||
set, then the cache will be stored in
|
||||
``$XDG_CACHE_HOME/mesa_shader_cache_db`` (if that variable is set), or else
|
||||
within ``.cache/mesa_shader_cache_db`` within the user's home directory.
|
||||
``$XDG_CACHE_HOME/mesa_shader_cache`` (if that variable is set), or else
|
||||
within ``.cache/mesa_shader_cache`` within the user's home directory.
|
||||
|
||||
.. envvar:: MESA_SHADER_CACHE_SHOW_STATS
|
||||
|
||||
@@ -228,9 +228,9 @@ Core Mesa environment variables
|
||||
|
||||
.. envvar:: MESA_DISK_CACHE_MULTI_FILE
|
||||
|
||||
if set to 1, enables the multi file on-disk shader cache implementation
|
||||
instead of the default Mesa-DB cache implementation.
|
||||
This implementation increases the overall disk usage.
|
||||
if set to 1 (set by default), enables the multi file on-disk
|
||||
shader cache implementation. This implementation increases the overall
|
||||
disk usage.
|
||||
If :envvar:`MESA_SHADER_CACHE_DIR` is set, the cache will be stored in
|
||||
``$MESA_SHADER_CACHE_DIR/mesa_shader_cache``, or else within
|
||||
``$XDG_CACHE_HOME/mesa_shader_cache`` (if that variable is set)
|
||||
@@ -248,6 +248,18 @@ Core Mesa environment variables
|
||||
and ``filename1_idx.foz``. A limit of 8 DBs can be loaded and this limit
|
||||
is shared with :envvar:`MESA_DISK_CACHE_READ_ONLY_FOZ_DBS_DYNAMIC_LIST`.
|
||||
|
||||
.. envvar:: MESA_DISK_CACHE_DATABASE
|
||||
|
||||
if set to 1, enables the Mesa-DB single file on-disk shader cache
|
||||
implementation instead of the default multi-file cache implementation.
|
||||
Like :envvar:`MESA_DISK_CACHE_SINGLE_FILE`, Mesa-DB reduces overall
|
||||
disk usage but Mesa-DB supports cache size limits via
|
||||
:envvar:`MESA_SHADER_CACHE_MAX_SIZE`. If
|
||||
:envvar:`MESA_SHADER_CACHE_DIR` is not set, the cache will be stored
|
||||
in ``$XDG_CACHE_HOME/mesa_shader_cache_db`` (if that variable is set)
|
||||
or else within ``.cache/mesa_shader_cache_db`` within the user's home
|
||||
directory.
|
||||
|
||||
.. envvar:: MESA_DISK_CACHE_DATABASE_NUM_PARTS
|
||||
|
||||
specifies number of mesa-db cache parts, default is 50.
|
||||
|
||||
Reference in New Issue
Block a user