[Cbe-oss-dev] [RFC 3/5] spufs: add purga_dma_queue() capability.

Arnd Bergmann arnd.bergmann at de.ibm.com
Wed Jun 13 19:03:13 EST 2007


On Tuesday 12 June 2007, Benjamin Herrenschmidt wrote:
> Do we need to implement that support in case of userland DMA errors as
> well ?

That's an open question that we should probably discuss.I think the
kernel should never purge the DMA queue on its own, other than when it's
destroying an SPU context.

When a user program does an invalid DMA, there are currently two options
to deal with it:

* The program terminates, either directly from the SIGBUS, or explicitly
  from a signal handler installed by the program

* The program has installed a handler to do some sort of user level paging.
  Upon receiving a signal, the use program mmaps an appropriate page into
  the address space and continues running

In both cases, we don't need to flush the queue.

We could have an spufs file (and libspe2 call) that lets the user explicitly
kill all outstanding DMAs, but I can't think of a practical application
for that.

	Arnd <><



More information about the cbe-oss-dev mailing list