Why buffered writes are sometimes stalled
yoshinorimatsunobu.blogspot.com
yoshinorimatsunobu.blogspot.com
Also, on a sort of related note, aio is steadily progressing, so maybe we'll see more reliance on it: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g... and libaio too: https://git.fedorahosted.org/cgit/libaio.git/
I'm not sure I got this, but this seems similar to vsync - making sure only complete 4k pages are written to disk, and then flipping the buffer and processing the next one.
But what error condition does this guard against? It seems this is only useful in a non-journaled file system.
As far as I know, at least. If (when) I'm wrong, please correct me.
(Aside: The autogenerated spam comments there are also strangely interesting - they sound almost poetic.)
Given the right corpus and parameters, Markov chains can do a surprisingly scary job at producting content that seems profound and/or humorous.
I have had to actually write benchmark tests to show some people I work with that there was no conlusive difference between the two (with our data access patterns). mmap having the disadvantage that it allows you more ways to shoot yourself in the foot (ever seen SIGBUS signals?). Before that they swore up and down how mmap is this magic performance hack that was burried in there for ages and only the elites know about it.
It's possible to have access patterns which don't demonstrate the efficiencies of mmap but it would be incorrect to suggest they do not exist. The overhead of making a syscall to access an area of a file and copying the data being accessed is significant for many workloads.