On Wed, Dec 02, 2015 at 05:10:36PM +0100, Christoph Hellwig wrote: > Currently the raid5-cache code is heavily relying on GFP_NOFAIL allocations. > > I've looked into replacing these with mempools and biosets, and for the > bio and the meta_page that's pretty trivial as they have short life times > and do make guaranteed progress. I'm massively struggling with the iounit > allocation, though. These can live on for a long time over log I/O, cache > flushing and last but not least RAID I/O, and every attempt at something > mempool-like results in reproducible deadlocks. I wonder if we need to > figure out some more efficient data structure to communicate the completion > status that doesn't rely on these fairly long living allocations from > the I/O path. > > FYI, my last attempt to use the bio frontpad is below, but a mempool showed > pretty similar results: yep, the io unit and metadata are used to be allocated with a mempool, but it's hard to calculate the pool size, so fall back to GFP_NOFAIL ... -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html