Messages in this thread | | | From | Jeff Moyer <> | Subject | Re: [PATCH] Fix a CFQ crash in "for-2.6.33" branch of block tree | Date | Thu, 10 Dec 2009 13:13:07 -0500 |
| |
Vivek Goyal <vgoyal@redhat.com> writes:
> 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@redhat.com> Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
| |