On 02/09/2018 06:03 AM, Timothy Arceri wrote:
On 09/02/18 14:45, Timothy Arceri wrote:
On 08/02/18 16:36, Tapani Pälli wrote:
Hi;

On 02/08/2018 06:00 AM, Timothy Arceri wrote:
Hi Tapani,

This patch causes deadlock when running piglit on my radeonsi with my ryzen (16 threads all running shader_runner). Have you tested it on similar Intel hardware?

It passes Intel CI, not sure if that counts though. Can you send some more debug information?

Looking closer at this change I think it needs to be reverted. It's not thread safe at all, applications are allowed to compile multiple programs attached to the same context in different threads which means we can end up with multiple threads inside disk_cache_path_init() at the same time causing all sorts of problems. glthread, radeonsi threaded compile, etc have the potential to hit this race condition even if the app doesn't do threaded compiles.

I'm still not exactly sure why we must avoid creating the path in order to use callbacks. Can you explain the issue you are trying to solve in greater detail?

Reason is that we do not want to create such path on Android where cache is managed outside the driver (by callbacks provided by Android) and very likely we don't have permissions to create such path in a sane location. So we should be able to create disk_cache instance even if path creation fails.

I've sent a series to revert things for now.

https://patchwork.freedesktop.org/series/37972/


I just sent a fix proposal that moves path creation back to the constructor. With this nothing should change for desktop Linux. Please consider this instead of reverting patches.

Thanks;

// Tapani
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to