On 27 Mar 2007 16:09:33 -0400 [EMAIL PROTECTED] wrote: > What part of "The msync() function writes all modified data to > permanent storage locations [...] For mappings to files, the msync() > function ensures that all write operations are completed as defined > for synchronised I/O data integrity completion." suggests that it's not > supposed to do disk I/O? How is that uselessly vague? >
Because for MS_ASYNC, "msync() shall return immediately once all the write operations are initiated or queued for servicing". ie: the writes can complete one millisecond or one week later. We chose 30 seconds. And this is not completely fatuous - before 2.6.17, MAP_SHARED pages could float about in memory in a dirty state for arbitrarily long periods - potentially for the entire application lifetime. It was quite reasonable for our MS_ASYNC implementation to do what it did: tell the VM about the dirtiness of these pages so they get written back soon. Post-2.6.17 we preserved that behaviour. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/