A news server has two processes both accessing an "active" file.
This file is constantly being updated:
cp /loc/news/lib/active /tmp/active
sleep 1
diff /loc/news/lib/active /tmp/active
(differences)
However, its mtime does not change: it is days too old. Also, after
an unclean shutdown and reboot due to a power failure innd seemed to
operate on a very old version of the active file.
I don't think innd is calling msync() but IMHO that should not prohibit
the kernel from flushing out dirty pages at regular interval.
AFAIK there was a bug in the past with shared mmap'ed files but I thought
it was fixed a long time ago.
# lsof|grep lib/active
actived 30695 news mem REG 3,4 70078 209527 /loc/news/lib/active
innd 30696 news mem REG 3,4 70078 209527 /loc/news/lib/active
innd 30696 news 16u REG 3,4 70078 209527 /loc/news/lib/active
# grep lib/active /proc/3069[56]/maps
4018b000-4019d000 r--s 00000000 03:04 209527 /loc/news/lib/active
40425000-40437000 rw-s 00000000 03:04 209527 /loc/news/lib/active
--
Frank