On Thu, 23 Jul 2009, Andi Kleen wrote: > > There are two other memory allocations during writeout: a vector of pages > > to be written, and the message we're sending to the OSD. If I use a > > mempool for those to guarantee as least some writeout will occur, how do I > > safely defer when allocations do fail? Will pdflush (or it's replacement) > > eventually come back and try ->writepages() again? > > mempool allocs should never fail, just block for a long time until > someone else frees. This means you need to ensure of course you > always make forward progress. Oh, that avoids the issue reasonably well then. Using mempools for the message passing is going to be a bit trickier (need to avoid any deadlocks due to dependencies on other messages), but it's doable. At least in the limited case of making writeback proceed. sage -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html