[Mesa-dev] [Mesa-stable] [PATCH 1/2] disk_cache: reduce default cache size to 5% of filesystem

Marek Olšák maraeo at gmail.com
Fri Apr 28 12:11:18 UTC 2017


On Thu, Apr 27, 2017 at 8:47 AM, Michel Dänzer <michel at daenzer.net> wrote:
> On 27/04/17 10:15 AM, Timothy Arceri wrote:
>> Modern disks are extremely large and are only going to get bigger.
>> Usage has shown frequent Mesa upgrades can result in the cache
>> growing very fast i.e. wasting a lot of disk space unnecessarily.
>>
>> 5% seems like a more reasonable default.
>>
>> Cc: "17.1" <mesa-stable at lists.freedesktop.org>
>> ---
>>  src/util/disk_cache.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
>> index d9de8ef..9fd7b96 100644
>> --- a/src/util/disk_cache.c
>> +++ b/src/util/disk_cache.c
>> @@ -324,24 +324,24 @@ disk_cache_create(const char *gpu_name, const char *timestamp)
>>           case '\0':
>>           case 'G':
>>           case 'g':
>>           default:
>>              max_size *= 1024*1024*1024;
>>              break;
>>           }
>>        }
>>     }
>>
>> -   /* Default to 1GB or 10% of filesystem for maximum cache size. */
>> +   /* Default to 1GB or 5% of filesystem for maximum cache size. */
>>     if (max_size == 0) {
>>        statvfs(path, &vfs);
>> -      max_size = MAX2(1024*1024*1024, vfs.f_blocks * vfs.f_bsize / 10);
>> +      max_size = MAX2(1024*1024*1024, vfs.f_blocks * vfs.f_bsize / 20);
>>     }
>
> 5% can still be quite a lot (what if every library on the system tried
> using that much for itself?). How about 1%?

The argument is flawed. My ccache uses 12% (26.8 GB) of my disk, and
I'm not saying "what if every small app used that much...". There is a
very good reason for that size with my use case.

It certainly makes sense to use 5% of the filesystem for Mesa.

If 1 or 2 games can fill the whole shader cache or evict all entries,
it's not a very useful shader cache.

If 1 or 2 compilations can fill the whole ccache or evict all entries,
it's not a very useful ccache.

Marek


More information about the mesa-dev mailing list