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

Reply via email to