On Tuesday 14 June 2011, Jordan Crouse wrote: > > On 06/14/2011 02:42 PM, Arnd Bergmann wrote: > > On Tuesday 14 June 2011 20:58:25 Zach Pfeffer wrote: > >> I've seen this split bank allocation in Qualcomm and TI SoCs, with > >> Samsung, that makes 3 major SoC vendors (I would be surprised if > >> Nvidia didn't also need to do this) - so I think some configurable > >> method to control allocations is necessarily. The chips can't do > >> decode without it (and by can't do I mean 1080P and higher decode is > >> not functionally useful). Far from special, this would appear to be > >> the default. > > > > Thanks for the insight, that's a much better argument than 'something > > may need it'. Are those all chips without an IOMMU or do we also > > need to solve the IOMMU case with split bank allocation? > > Yes. The IOMMU case with split bank allocation is key, especially for shared > buffers. Consider the case where video is using a certain bank for performance > purposes and that frame is shared with the GPU. Could we use the non-uniform memory access (NUMA) code for this? That code does more than what we've been talking about, and we're currently thinking only of a degenerate case (one CPU node with multiple memory nodes), but my feeling is that we can still build on top of it. The NUMA code can describe relations between different areas of memory and how they interact with devices and processes, so you can attach a device to a specific node and have all allocations done from there. You can also set policy in user space, e.g. to have a video decoder process running on the bank that is not used by the GPU. In the DMA mapping API, that would mean we add another dma_attr to dma_alloc_* that lets you pass a node identifier. Arnd -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>