RE: [RFC] powerpc/mm: honor O_SYNC flag for memory map
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-11-20 09:04:01
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-11-20 09:04:01
On Fri, 2009-11-20 at 11:00 +0800, Li Yang-R58472 wrote:
Because there is no way to set mapped memory as cacheable if the memory is not managed by Linux kernel. While, it's not rare in real system to allocate some dedicated memory to a certain application which is not managed by kernel and then mmap'ed the memory to the application. The memory should be cacheable but we can't map it to be cacheable due to this intelligent setting. And it is a big hit to the performance. Moreover, the standard O_SYNC flag suggest that user has the control over cacheablity, but actually we had not.
You need to be a bit more careful tho. You must not allow RAM managed by the kernel to be mapped non-cachable. Cheers, Ben.