On Wed, 1 Nov 2023 at 07:59, Dave Airlie <airlied@xxxxxxxxx> wrote:
I very much like the idea that NAK replies are counted as "you've justWell, to make it clear once more: Signaling a dma_fence from theI really think this needs to be documented if nothing else out of this thread.
destructor of a reference counted object is very problematic! This will
be rejected no matter if you do that in C or in Rust.
What we can do is to make it safe in the sense that you don't access
freed up memory by using the scheduler fences even more as wrapper
around the hardware fence as we do now. But this quite a change and
requires a bit more than just hacking around
drm_sched_fence_get_timeline_name().
Clearly nobody is going to get it right and hidden here in this
thread, this info isn't useful.
Can we have some sort of design document for the dma-fence/scheduler
interactions written and we can try and refine it with solutions on
the list, because I'm tired of people proposing things and NAK's
getting thrown around without anything to point people at.
The next NAK I see on the list will mean I block all patches from the
sender until they write a documentation patch, because seriously this
stuff is too hard for someone to just keep it in their head and expect
everyone else to understand from reading the code.
volunteered yourself for some documentation patches so that next time
around you can reply with a link to the docs instead of just a NAK".
I don't think we'll get out of these discussions otherwise, since
currently we have undocumented, but very tricky semantics of the
drm/sched codebase for ringbuffer scheduling which is extended to fw
scheduling in also very tricky ways, with not entirely clear impacts
on semantics of all the drm/sched things. And as a result we just pile
up enormous amounts of threads where I think the only thing assured is
that people talk past each another.
Converting NAKs into doc patches should at least eventually get rid of
the worst confusions we're dealing with here.
Cheers, Sima