Hello,
On Tuesday, April 19, 2011 10:07 PM Rebecca Schultz Zavin wrote:
While we are working out requirements, I was hoping to get some more information about another related issue that keeps coming up on mailing lists and in discussions.
Thanks for starting the discussion!
(snipped)
3- fix up the unity mapping so the attribute bits match those desired by the unified memory manger. This could be done by removing pages from the unity map. It's complicated by the fact that the unity map makes use of large pages, sections and supersections to reduce tlb pressure. I don't think this is impossible if we restrict the set of contexts from which it can happen, but I'm imagining that we will also need to maintain some kind of pool of memory we've moved from cached to uncached since the process is likely to be expensive. Quite likely we will have to iterate over processes and update all their top level page tables.
There have been proposals to change the way the unity mapping is created on ARM. If we drop section mappings and use standard, two-level mappings changing the attributes of particular page is much easier. Such solution has been proposed in: http://thread.gmane.org/gmane.linux.ports.arm.kernel/86697/focus=86700
Currently I'm working on adapting it to latest kernel and merging with latest CMA patches.
Best regards