newly add MAP_SYNC flag to mmap
valdis.kletnieks at vt.edu
valdis.kletnieks at vt.edu
Mon Jul 16 22:27:03 EDT 2018
On Tue, 17 Jul 2018 02:15:17 -0000, David Frank said:
> inking. I'm checking out if the flag does what is is said to do-- I don't have
> to call msync function, which would boost performance.
Note that this can actually *kill* performance, because this means that the
kernel has to flush to backing store every single time it notes a change,
whereas if you use msync only at those points your software needs a sync point,
it can do it at only those points....
Thought experiment: Imagine a workflow that needs to checkpoint every 1000
changes to the shared segment (for instance, if you've mapped an array with
1000 rows, do a for() loop across it incrementing one item, and checkpoint when
they're all incremented). msync after the loop completes is one sync, while a worst-case
using MAP_SYNC could result in a flush after every single increment (if the system
is rescheduling the process over and over - for instance, if there's also another
syscall inside the loop).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 486 bytes
Desc: not available
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20180716/c7883f9a/attachment-0001.sig>
More information about the Kernelnewbies
mailing list