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