Re: mmap sync issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Mar 16, 2013 at 4:39 PM, Will Huck <will.huckk@xxxxxxxxx> wrote:
> On 03/15/2013 07:39 PM, Gil Weber wrote:
>> I am experiencing an issue with my device driver. I am using mmap and
>> ioctl to share information with my user space application.
>> The thing is that the shared memory does not seems to be synced. Do check
>> this, I have done a simple test:

So if I got this right, the issue is that the vmalloc_area is
virtually aliased between the kernel and the user space mapping, so
that coherency is not guaranteed on architectures that use virtually
aliased caches.

fs/aio.c does something similar to what you want with their ring
buffer. The kernel doesn't access the ring buffer through a vmalloc
area like you're trying to do; instead it uses kmap_atomic() ..
kunmap_atomic() whenever it wants to access it.

I don't actually consider myself an expert in this area but I believe
the above should solve your problem :)

-- 
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]