提交 dfd11c2e 编写于 作者: L Linus Torvalds
......@@ -1202,13 +1202,16 @@ __cfq_get_queue(struct cfq_data *cfqd, unsigned long key, int gfp_mask)
if (new_cfqq) {
cfqq = new_cfqq;
new_cfqq = NULL;
} else if (gfp_mask & __GFP_WAIT) {
} else {
spin_unlock_irq(cfqd->queue->queue_lock);
new_cfqq = kmem_cache_alloc(cfq_pool, gfp_mask);
spin_lock_irq(cfqd->queue->queue_lock);
if (!new_cfqq && !(gfp_mask & __GFP_WAIT))
goto out;
goto retry;
} else
goto out;
}
memset(cfqq, 0, sizeof(*cfqq));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册