Re: [PATCH] blkcg: fix "scheduling while atomic" in blk_queue_bypass_start

2012-10-30 Thread Vivek Goyal
On Tue, Oct 30, 2012 at 11:25:47AM +0900, Jun'ichi Nomura wrote: [..] > This patch moves blk_queue_bypass_start() before radix_tree_preload() > to avoid the sleeping call while preemption is disabled. > > BUG: scheduling while atomic: multipath/2460/0x0002 > 1 lock held by

Re: [PATCH] blkcg: fix scheduling while atomic in blk_queue_bypass_start

2012-10-30 Thread Vivek Goyal
On Tue, Oct 30, 2012 at 11:25:47AM +0900, Jun'ichi Nomura wrote: [..] This patch moves blk_queue_bypass_start() before radix_tree_preload() to avoid the sleeping call while preemption is disabled. BUG: scheduling while atomic: multipath/2460/0x0002 1 lock held by multipath/2460:

[PATCH] blkcg: fix "scheduling while atomic" in blk_queue_bypass_start

2012-10-29 Thread Jun'ichi Nomura
On 10/30/12 02:13, Vivek Goyal wrote: > On Mon, Oct 29, 2012 at 05:45:15PM +0100, Peter Zijlstra wrote: >> int radix_tree_preload(gfp_t gfp_mask) >> { >> struct radix_tree_preload *rtp; >> struct radix_tree_node *node; >> int ret = -ENOMEM; >> >>

[PATCH] blkcg: fix scheduling while atomic in blk_queue_bypass_start

2012-10-29 Thread Jun'ichi Nomura
On 10/30/12 02:13, Vivek Goyal wrote: On Mon, Oct 29, 2012 at 05:45:15PM +0100, Peter Zijlstra wrote: int radix_tree_preload(gfp_t gfp_mask) { struct radix_tree_preload *rtp; struct radix_tree_node *node; int ret = -ENOMEM; preempt_disable();