Some components use very large refcounts to bypass atomics in single-threaded
cases, and this produces near-infinite loops when these resources are created.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16182>
/* this is here to provide a gradual change even if we don't see
* the initialization
*/
- for (i = 1; i <= refcnt - change; ++i) {
- fprintf(stream, "<%s> %p %u AddRef %u\n", buf, (void *) p,
- serial, i);
- debug_backtrace_print(stream, frames, STACK_LEN);
+ if (refcnt <= 10) {
+ for (i = 1; i <= refcnt - change; ++i) {
+ fprintf(stream, "<%s> %p %u AddRef %u\n", buf, (void *) p,
+ serial, i);
+ debug_backtrace_print(stream, frames, STACK_LEN);
+ }
}
}