cache corruption patch

Sam Leffler sam at freebsd.org
Tue Jun 2 17:17:10 UTC 2009


Mark Tinguely wrote:
> There has been several occurrences of memory corruption in ARM due to caching
> issues. A couple recent examples are problems with the SATA drive and new USB
> code.
>
> This patch tracks kernel mapped pages and detects when they are shared
> with existing user mapped pages and other kernel mapped pages. This patch
> has gone through some refinement in the last couple days with feed back
> from testers and is getting ready for being committed before the FreeBSD 8.0
> freeze.
>
> This patch should allow the removal of added cache invalidation commands to
> the dma. 
>
> The patch is located at:
>
> 	http://www.casselton.net/~tinguely/arm_pmap_unmanaged.diff
>
> For those interested, I can give a long explanation of the patch.
>   

Have you measured the overhead of this additional state tracking 
(time+space)?  It appears to affect only dma buffers.

Not sure what "added cache invalidation commands" you're referring to, 
can you explain?  Perhaps you could just provide a separate patch that 
shows which bus_dma ops you think can go away.

    Sam



More information about the freebsd-arm mailing list