Re: Nouveau fences?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thomas Hellstrom <thomas@xxxxxxxxxxxx> writes:

> Ben,
>
> I'm looking at a way to make TTM memory management asynchronous with
> the CPU. The idea is that you should basically be able to DMA data to
> and from memory regions without waiting for idle, as long as the GPU
> has a means to provide operation ordering.
>
Sounds good. I guess you're mainly dealing with BO eviction
synchronization? The only problem I see on our side is that calls to our
move() hook aren't guaranteed to be carried out in order (because of the
multiple hardware channels). I'm thinking that move() could be extended
with an optional sync_obj argument, that way move() would be able to
make sure that evictions are strictly ordered with respect to the fence
specified.

> While doing that I looked a bit at the Nouveau fencing. It appears
> like waiting for fences is polling only (no irq to signal fences)? Is
> that correct?
>
That's right, nvidia hardware has no nice way to schedule a fence-like
interrupt we could selectively turn on and off around the sync_obj_wait
hook. There's a bunch of (more or less) chipset-specific hacks that
could be used to get an equivalent effect, but polling has seemed good
enough so far (in the typical case we only take the "lazy" path so CPU
usage is still OK).

Unconditional PFIFO CACHE interrupts might be an option too, but, I'm a
bit afraid of the PFIFO stalls and useless IRQ storms some applications
could trigger.

> /Thomas
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

Attachment: pgpw8kleoBpsJ.pgp
Description: PGP signature

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux