Re: Re: cfq-iosched.c: panic in cfq_dispatch_requests

From: Lina Lu
Date: Tue Mar 22 2011 - 11:34:52 EST

On 2011-03-21 22:08:19, Vivek Goyal wrote:
>On Sun, Mar 20, 2011 at 03:23:23PM +0800, Lina Lu wrote:
>> Hi Vivek,
>> I did some test with blkio weight policy these days. The kernel panic
>> once in a while.
>> From the calltrace, It 's in func cfq_dispatch_requests(+0x058D).
>> And I caught a divide by zero error with system monitor tools.
>Hi Lina,
>Can you please paste the full backtrace here.
>> The panic happens when I first set 100 weight to two IO pids, then
>> change the weight to 200, and begin to perform IO. The kernel panic
>> accurately when the IO begin.
>So you notice this only if weights are changed otherwise not?

Hi Vivek

Thanks for this patch! I did objdump and find place that divide by zero.
It's in cfq_group_slice function, the st->total_weight is zero in my issue.
As described in the patch, this is because I change the weight when the
group on service tree.


>Recently Justin fixed a bug in CFQ where crash can happen when weights
>are changed. This fix in Jens's block tree. Can you please apply this
>patch and see if it resolves your issue too.
>commit 8184f93eced1e304721c2a55c00d87d5a14f8907
>Author: Justin TerAvest <teravest@xxxxxxxxxx>
>Date: Thu Mar 17 16:12:36 2011 +0100
> cfq-iosched: Don't update group weights when on service tree
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at