Messages in this thread | | | Date | Tue, 23 Mar 2004 10:11:26 -0800 | From | William Lee Irwin III <> | Subject | Re: can device drivers return non-ram via vm_ops->nopage? |
| |
On 21 March 2004 23:58 +0000 Russell King <rmk+lkml@arm.linux.org.uk> >> Unfortunately this doesn't make dwmw2 happy - he claims to have machines >> which implement dma_alloc_coherent using RAM which doesn't have any >> struct page associated with it.
On Tue, Mar 23, 2004 at 05:59:20PM +0000, Andy Whitcroft wrote: > Would it not be possible to allocate struct page's for these special areas > of memory? Worst, worst, worst case could they not represent pages in a > memory only node in the NUMA sense? I am sure there is some way they could > be 'tacked' onto the end of the cmap in reality?
This has already been beaten to death and resolved. dma_mmap_coherent() is the preferred solution and will have no reliance on the coremap apart from requiring it when faults are handled (to feed the core API), and requiring prefaulting when coremap elements are absent for the mapped areas. More importantly, it allows sane fallback to read()/write() and understands the results of dma_alloc_coherent(), which virt_to_page(), whose current use on dma_alloc_coherent()'s results causes driver bugs, does not.
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |