NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/58032: machine with amdgpu panics on starting X
The following reply was made to PR kern/58032; it has been noted by GNATS.
From: Tobias Nygren <tnn%NetBSD.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/58032: machine with amdgpu panics on starting X
Date: Sun, 11 May 2025 13:03:51 +0200
We are crashing here:
https://github.com/NetBSD/src/blob/cefb785c4c1ceba46591223c4ffc8cb7daea6cb9/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c#L528
ttm_bo.c: ttm_bo_cleanup_refs_or_queue
527 if (bo->base.resv != &bo->base._resv)
528 dma_resv_unlock(&bo->base._resv);
_resv is supposed to be held from here:
https://github.com/NetBSD/src/blob/cefb785c4c1ceba46591223c4ffc8cb7daea6cb9/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c#L454
ttm_bo.c: ttm_bo_individualize_resv
451 if (bo->base.resv == &bo->base._resv)
452 return 0;
453
454 BUG_ON(!dma_resv_trylock(&bo->base._resv));
Sprinkling some printfs in the general area is enough to not make it
crash so this implies a race condition to me. For example
if something changed to make the resv == &.._resv condition not
hold true during the time we did not hold any locks.
Home |
Main Index |
Thread Index |
Old Index