From: Jens Axboe Date: Tue, 30 Jun 2009 07:34:12 +0000 (+0200) Subject: cfq-iosched: get rid of the need for __GFP_NOFAIL in cfq_find_alloc_queue() X-Git-Tag: v2.6.31-rc2~24^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6118b70b3a0b4c583439bb77600194c82f220ce3;p=pandora-kernel.git cfq-iosched: get rid of the need for __GFP_NOFAIL in cfq_find_alloc_queue() Setup an emergency fallback cfqq that we allocate at IO scheduler init time. If the slab allocation fails in cfq_find_alloc_queue(), we'll just punt IO to that cfqq instead. This ensures that cfq_find_alloc_queue() never fails without having to ensure free memory. On cfqq lookup, always try to allocate a new cfqq if the given cfq io context has the oom_cfqq assigned. This ensures that we only temporarily punt to this shared queue. Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe --- Reading git-diff-tree failed