On Tue, Jul 22, 2014 at 3:45 PM, Christian KÃnig
<deathsimple@xxxxxxxxxxx> wrote:
So for the enable_signaling, that's optional already. It's only forWould that be something you can agree to?
No, the whole enable_signaling stuff should go away. No callback from the
driver into the fence code, only the other way around.
fence->signaled as well as fence->wait should become mandatory and only
called from process context without holding any locks, neither atomic nor
any mutex/semaphore (rcu might be ok).
drivers that don't want to keep interrupts enabled all the time. You
can opt out of that easily.
Wrt holding no locks at all while calling into any fence functions,
that's just not going to work out. The point here is to make different
drivers work together and we can rework all the ttm and i915 code to
work locklessly in all cases where they need to wait for someone to
complete rendering. Or at least I don't think that's feasible. So if
you insist that no one might call into radeon code then we simply need
to exclude radeon from participating in any shared fencing. But that's
a bit pointless.
Well I haven't yet seen a proposal that actually works.Like I've said I think restricting the insanity other people are willing
to live with just because you don't like it isn't right. But it is
certainly right for you to insist on not being forced into any such
design. I think the above would achieve this.
I don't think so. If it's just me I would say that I'm just to cautious and
the idea is still save to apply to the whole kernel.
But since Dave, Jerome and Ben seems to have similar concerns I think we
need to agree to a minimum and save interface for all drivers.
From an intel
pov I don't care that much since we don't care about desktop prime, so
if radeon/nouveau don't want to do that, meh. Imo the design as-is is
fairly sound, and as simple as it can get given the requirements. I
haven't heard an argument convincing me otherwise, so I guess we
won't have prime support on linux that actually works, ever.
-Daniel