util/disk_cache: Add new mesa-db cache type
Introduce new cache type, the Mesa-DB. This is a single-file read/write cache that is based on the read-only Fossilize DB cache. Mesa-DB supports cache size capping. It's a much more efficient cache than the multi-file cache because Mesa-DB doesn't have the inode overhead. The plan is to make Mesa-DB the default cache implementation once it will be deemed as stable and well tested. For now users have to set the new MESA_DISK_CACHE_DATABASE environment variable in order to active the Mesa-DB cache. Mesa-DB cache is resilient to corrupted cache files and doesn't require maintenance from users and developers. The size capping is implemented by evicting least recently used cache items and compacting the cache database files with the evicted entries. In order to prevent frequent compaction of the cache, at minimum a half of cache is evicted when cache is full. Acked-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888>
This commit is contained in:

committed by
Marge Bot

parent
f64f74b8f2
commit
32211788d0
@@ -1,2 +1,3 @@
|
||||
GL_ARB_shader_clock on llvmpipe
|
||||
VK_KHR_shader_clock on lavapipe
|
||||
Mesa-DB, the new single file cache type
|
||||
|
Reference in New Issue
Block a user