Re: [PATCH] i2o_block Fix, possible CFQ elevator problem?

Jens Axboe
2004-04-20T11:34:37Z

On Tue, Apr 20 2004, Warren Togami wrote:
> Jens Axboe wrote:
> >>>
> >>>Repeat the tests that made it crash. The last patch I sent should work
> >>>for you, at least until the real issue is found.
> >>>
> >>
> >>Tested your patch, it indeed does seem to keep the system stable. If I
> >>am understanding it right, the patch disables merging in the case where
> >>it would have caused a BUG condition? (Less efficiency.)
> >
> >
>
> Bad news... much later during the test the system locked up. During
> this test we did not use "sync" but just let all four bonnie++'s run.
>
> http://togami.com/~warren/archive/2004/i2o_cfq_quad_bonnie3.txt
> ----------- [cut here ] --------- [please bite here ] ---------
> Kernel BUG at cfq_iosched:404
> invalid operand: 0000 [1] SMP

Sorry about that, that's actually expected when we know this bug
exists. You need to move the cfq_remove_merge_hints(q, crq) before the
BUG_ON(q->last_merge == rq) check, or (better) just remove it
completely. There's no way that q->last_merge could be set to this
request after cfq_remove_merge_hints() was called.

--
Jens Axboe