[Nouveau] Interrupt setting

Shinpei KATO shinpei at il.is.s.u-tokyo.ac.jp
Sat Mar 13 08:37:04 PST 2010


Dear Luca,

> > Since you create one fence object for each pushbuf, I thought that we can
> > synchronize only with last the command.
> > Not sure if my assumption is correct...
> All the commands in the pushbuffer are executed sequentially and the
> fence setting command is written at the end of the pushbuffer, so when
> the fence register is updated, all commands will have been already
> executed.
> 
> However, this does indeed mean that to wait for the completion of any
> command, we also need to wait for the completion of all the other
> commands in the pushbuffer sent in the pushbuf ioctl call.

Interesting... So fencing at the end of the pushbuf ioctl results in
synchronizing with not necessarily the last command sent from a CPU but with the
last command finished on a GPU.

> This could be improved, but I doubt it is worth the significant
> additional complexity and CPU performance costs. Userspace can always
> send commands in smaller chunks if it wants to.

Totally agree with you.

I learned a lot here, thanks!

Best,
- Shinpei



More information about the Nouveau mailing list