Re: [PATCH 2/2] dm: stay in blk_queue_bypass until queue becomesinitialized

From: Peter Zijlstra
Date: Mon Oct 29 2012 - 12:45:27 EST


On Mon, 2012-10-29 at 12:38 -0400, Vivek Goyal wrote:
> Ok, so the question is what's wrong with calling synchronize_rcu() inside
> a mutex with CONFIG_PREEMPT=y. I don't know. Ccing paul mckenney and
> peterz.

int blkcg_activate_policy(struct request_queue *q,

{

...

preloaded = !radix_tree_preload(GFP_KERNEL);

blk_queue_bypass_start(q);




where:

int radix_tree_preload(gfp_t gfp_mask)
{
struct radix_tree_preload *rtp;
struct radix_tree_node *node;
int ret = -ENOMEM;

preempt_disable();


Seems obvious why it explodes..
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/