Danilo Krummrich
2025-Apr-14 14:27 UTC
[PATCH 1/3] drm/nouveau: Prevent signaled fences in pending list
On Mon, Apr 14, 2025 at 10:54:25AM +0200, Philipp Stanner wrote:> @Danilo: > We have now 2 possible solutions for the firing WARN_ON floating. > > Version A (Christian) > Check in nouveau_fence_context_kill() whether a fence is already > signaled before setting an error. > > Version B (Me) > This patch series here. Make sure that in Nouveau, only > nouveau_fence_signal() signals fences. > > > Both should do the trick. Please share a maintainer-preference so I can > move on here.Thanks for working on this Philipp. If you don't want to rework things entirely, A seems to be superior, since it also catches the case when someone else would call dma_fence_is_signaled() on a nouveau fence (which could happen at any time). This doesn't seem to be caught by B, right?
Christian König
2025-Apr-15 09:56 UTC
[PATCH 1/3] drm/nouveau: Prevent signaled fences in pending list
Am 14.04.25 um 16:27 schrieb Danilo Krummrich:> On Mon, Apr 14, 2025 at 10:54:25AM +0200, Philipp Stanner wrote: >> @Danilo: >> We have now 2 possible solutions for the firing WARN_ON floating. >> >> Version A (Christian) >> Check in nouveau_fence_context_kill() whether a fence is already >> signaled before setting an error. >> >> Version B (Me) >> This patch series here. Make sure that in Nouveau, only >> nouveau_fence_signal() signals fences. >> >> >> Both should do the trick. Please share a maintainer-preference so I can >> move on here. > Thanks for working on this Philipp. > > If you don't want to rework things entirely, A seems to be superior, since it > also catches the case when someone else would call dma_fence_is_signaled() on a > nouveau fence (which could happen at any time). This doesn't seem to be caught > by B, right?Correct, yes. I would also keep it as simple as possible for backporting this bug fix. On the other hand a rework is certainly appropriate including both nouveau as well as the DMA-fence calling rules. Especially that the DMA-fence framework calls the signaled callback with inconsistent locking is something we should fix. Regards, Christian.