Re: [PATCH 10 of 20] ipath - support for userspace apps using coredriver

From: Hugh Dickins
Date: Thu Mar 16 2006 - 12:43:31 EST


On Thu, 16 Mar 2006, Bryan O'Sullivan wrote:
> On Wed, 2006-03-15 at 21:54 -0800, Roland Dreier wrote:
>
> > How about the case where one wants to map pages from
> > dma_alloc_coherent() into userspace?
>
> This is precisely our case, btw. The pages in question are allocated
> during fops->open (some during dev->probe). mmap and nopage never
> allocate anything.
>
> > It seems one should do
> > get_page() in .nopage, and then the driver can do dma_free_coherent()
> > when the vma is released.
>
> If that were the case, I'm unclear on how I would do this. Add a
> vmops->close method along with the existing vmops->nopage handler?

If neither mmap nor nopage allocated something, then vmops->close
would be the wrong point at which to free it, I think.

If dev->probe allocated something, module unload would be the right
point to free it. If fops->open allocated something, fops->release
would be the right point to free it.

I think. Beware, I've never written a Linux driver, and may well
have this wrong or oversimplified: in which case, I'll have annoyed
someone enough for them to correct me very soon.

Hugh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/