Messages in this thread | | | Date | Fri, 20 Apr 2007 14:32:41 +0100 | From | "Daniel J Blueman" <> | Subject | Re: How to make mmap'ed kernel buffer non-cacheable |
| |
On 20 Apr, 14:20, Bhuvan Kumar MITTAL <bhuvan.mit...@st.com> wrote: > Hi, > I am working on an audio device driver development on Linux. I have a kernel > buffer which I have mapped to user space using mmap call from user space. My > problem is that the data which comes to the kernel buffer is getting dropped in > user space and I get only 50-60% of the data which is randomly ordered. The user > to kernel level buffer address translation code is fine and I suspect this data > dropping is occurring coz the kernel buffer is cacheable. Please suggest me some > way of making the entire buffer non cacheable. I am stuck on this for quite a while > now.
You can use rdmsr() in your driver to check if the page attribute table MSR is available, then find and/or add the right entry in the table to set in each page's flags. This is documented in the Intel IA-32 Intel Architecture Software Developer's Manuals at intel.com.
Dan -- Daniel J Blueman - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |