DMA question

Andries.Brouwer@cwi.nl
Tue, 21 Jan 1997 18:28:16 +0100


A physicist posed the following question:
I have a device that does DMA. The area involved is mmapped by
several user processes. The hardware does not allow user program
access while the DMA is in progress.
What Linux primitives can be used to prevent such access?

So, is there a reasonable way to put processes to sleep when they
try to access a prespecified range of memory, so that the driver
can wake them up when DMA has finished?
Or perhaps to prevent scheduling of those processes that have
this memory range in their address space?

Andries