I've got a board running linux 2.4.x on an xscale IXP420 with NVRAM on the expansion bus. I've written a driver to allow me to mmap this memory into my user space applications and I'm running into a strange problem where the data that should be written out to the NVRAM is not actually being written. The NVRAM is mmapped into 5 processes as MAP_SHARED and one process will write data to a location and then call msync immediately after writing to force this data to NVRAM through the writepage call in my driver. What I'm seeing is that the new data is not actually written. If I sleep a bit before calling the msync things seem to work well. I'm wondering if the reason for this is that when one processes writes to the mmapped memory the change has to be propagated to a specific process before the msync is called otherwise an invalid copy of the page will be sync'd.
Thanks! -Robert Daniels _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
