diff options
author | gonzo <gonzo@FreeBSD.org> | 2012-08-22 22:48:50 +0000 |
---|---|---|
committer | gonzo <gonzo@FreeBSD.org> | 2012-08-22 22:48:50 +0000 |
commit | 9df6f2a093e6b1e10c593f4f63086a8ee033d02f (patch) | |
tree | 4b67bfbccca77d7852713a1318a85ad17fd3f952 /etc | |
parent | 936202737a90a7369258f995b784887008b120a8 (diff) | |
download | FreeBSD-src-9df6f2a093e6b1e10c593f4f63086a8ee033d02f.zip FreeBSD-src-9df6f2a093e6b1e10c593f4f63086a8ee033d02f.tar.gz |
Do not change "cachable" attribute for DMA memory allocated with
BUS_DMA_COHERENT attribute
The minimum unit for changing "cachable" attribute is page, so call
to pmap_change_attr effectively disable cache for all pages that newly
allocated DMA memory region spans on. The problem is that general-purpose
memory could reside on these pages too and disabling cache might affect
performance. Moreover ldrex/strex operators raise Data Abort exception
when accessing memory on page with "cachable" attribute off.
BUS_DMA_COHERENT does nto require memory to be coherent. It just suggests
to do best effort for reducing synchronization overhead.
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions