what's needed is a application barrier() call
what's needed is a application barrier() call
Posted Sep 9, 2009 21:49 UTC (Wed) by njs (subscriber, #40338)In reply to: what's needed is a application barrier() call by dlang
Parent article: POSIX v. reality: A position on O_PONIES
Yes, that sort of ordering is what she's talking about. (The Featherstitch papers are worth checking out.)
IIUC, the trickiness in implementing it is that you need to keep track of which writes depend on which other writes, and which intermediate states are allowed, but then you have to keep non-dependent writes as disentangled as possible, to avoid the slowdowns and soft-updates craziness that she describes in the original article -- but you can't be *too* clever about it, or your accounting overhead will become a bottleneck.
Featherstitch's solution involves careful optimizations and giant graphs in kernel memory.