On 04/09/2012 07:44 PM, Kevin Cernekee wrote:
On Mon,Is there a reason why Ralf's original approach was not workable?
It doesn't work with HIGHMEM + cache aliasing. It also uses cache flush (blast_dcache) to buffer instead of cache invalidate after read I/O is completed.
I suspect that reimplementing the *_kernel_vmap_range functions using _dma_cache_* would result in a double L2 flush on the same memory regions on systems with cache aliases, and an unnecessary L1+L2 flush on systems without aliases.
Good point. I put that to set it working. Now, after your comment, I think it has sense to try with L1 only.
- Leonid.