On Tue, 2025-04-15 at 11:56 +0200, Christian König wrote: > 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.
Do you have a suggestion where to start? I btw would still be interested in adding some sort of centralized mechanism in dma_fence that the driver could use to do some cleanup stuff once a fence gets signaled ^_^ P. > > Regards, > Christian.