MMAP&multiprocessor machine question

Wojciech Puchar wojtek at
Thu Apr 13 16:39:00 UTC 2006

assume i have my program, that accesses data using mmap interface only, is 
run many times on same machine.

if it's uniprocessor machine, it's clear - all processes will see the data 

what in case of more than one processor. will one processor keep in cache 
data that was already modified by other?

is there any system call to FORCE synchronization when it's needed on 
given page?

on my dual pentium II machine it looks like data being always coherent, 
but how it will be on other architectures/models? for example MIPS 
processors has software managed caches - will my program work wrong on 
such hardware?

for now - it's ok because it works, but i won't like to be surprised say 5 
years after because my program breaks important data on some new machine 
it may run at.

it's multiuser database program (or will be, as it's in beginning phase) 
so such behaviour is inacceptable.

More information about the freebsd-questions mailing list