On Thu, Dec 25, 2008 at 01:30:04PM +0100, Joerg Roedel wrote: > On Thu, Dec 11, 2008 at 01:33:41AM +0100, Hans J. Koch wrote: > > On Wed, Dec 03, 2008 at 05:51:30PM -0800, Edward Estabrook wrote: > > > From: Edward Estabrook <[email protected]> > > > > > > Here is a patch that adds the ability to dynamically allocate and use > > > coherent DMA > > > from userspace by extending the Userspace IO driver. This patch applies > > > against > > > 2.6.28-rc6. > > > > Hi Edward, > > sorry I didn't answer sooner. It was not lack of interest in your work, I > > just had to think about it (and had quite a lot of other work, too). > > I consider your idea of having DMA coherent memory allocatable from > > userspace > > a valid demand. However, the interface should be implemented differently. > > > > As a general requirement, all information you need to pass to userspace has > > to go through sysfs. This is a UIO design decision and should not be changed > > lightly. Please don't fill information into the allocated memory. > > > > We shouldn't mix dynamically allocated DMA regions with the already existing > > static memory mappings. There should be an extra directory, maybe called > > /sys/class/uio/uioN/dyn_dma_mem/ containing information about this kind of > > DMA memory. This directory would not exist by default, it's only created if > > some user actually allocates such memory. > > > > In the UIO core, these mappings should be handled with a dynamic list, not > > a static array. The number of possible mappings has to be limited to a > > sensible maximum, maybe 50 or 100. The code handling the existing static > > mappings could mostly stay as-is. > > I like that idea of a seperate directory in sysfs. How about allocating > DMA memory by creating files in this directory.
Nice idea, but AFAICT sysfs doesn't support creating files from userspace. > The memory itself can be > accessed via mmap() and the dma address can be gathered using read(). > When a file is closed the dma memory is unmapped. > This would work great as long as /sys/class/uio/uioN/ belongs only to > one physical device. That's guaranteed. Thanks, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
