Re: [PATCH] Fix a CFQ crash in "for-2.6.33" branch of block tree

From: Gui Jianfeng
Date: Thu Dec 10 2009 - 19:53:37 EST


Vivek Goyal wrote:
...
> I think I have hit following BUG_ON() in cfq_dispatch_request().
>
> BUG_ON(RB_EMPTY_ROOT(&cfqq->sort_list));
>
> Please find attached the patch to fix it. I have done some stress testing
> with it and have not seen it happening again.
>
>
> o We should wait on a queue even after slice expiry only if it is empty. If
> queue is not empty then continue to expire it.
>
> o If we decide to keep the queue then make cfqq=NULL. Otherwise select_queue()
> will return a valid cfqq and cfq_dispatch_request() can hit following
> BUG_ON().
>
> BUG_ON(RB_EMPTY_ROOT(&cfqq->sort_list))
>
> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>

Hi Vivek,

I saw this oops also. This patch seems good to me, and works fine on my box.

--
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/