From: Jens Axboe <axboe@suse.de>
To: Warren Togami <wtogami@redhat.com>
Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>,
Arjan van de Ven <arjanv@redhat.com>,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
Alan Cox <alan@redhat.com>, Linus Torvalds <torvalds@osdl.org>
Subject: Re: [PATCH] i2o_block Fix, possible CFQ elevator problem?
Date: Tue, 20 Apr 2004 13:38:51 +0200 [thread overview]
Message-ID: <20040420113850.GM25806@suse.de> (raw)
In-Reply-To: <20040420113429.GL25806@suse.de>
On Tue, Apr 20 2004, Jens Axboe wrote:
> 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.
In short, this patch. I can see this happening for an aliased request,
but you should not be hitting that with bonnie (you are not doing any
form of raw or O_DIRECT io, are you?).
===== drivers/block/cfq-iosched.c 1.1 vs edited =====
--- 1.1/drivers/block/cfq-iosched.c Mon Apr 12 19:55:20 2004
+++ edited/drivers/block/cfq-iosched.c Tue Apr 20 13:37:33 2004
@@ -401,10 +401,9 @@
dispatch:
rq = list_entry_rq(cfqd->dispatch->next);
- BUG_ON(q->last_merge == rq);
crq = RQ_DATA(rq);
if (crq)
- BUG_ON(ON_MHASH(crq));
+ cfq_remove_merge_hints(q, crq);
return rq;
}
--
Jens Axboe
prev parent reply other threads:[~2004-04-20 11:39 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-19 11:37 [PATCH] i2o_block Fix, possible CFQ elevator problem? Warren Togami
2004-04-19 12:12 ` Jens Axboe
2004-04-20 0:42 ` Warren Togami
[not found] ` <40848159.7090605@togami.com>
2004-04-20 7:08 ` Jens Axboe
2004-04-20 7:58 ` Warren Togami
2004-04-20 8:03 ` Jens Axboe
2004-04-20 8:59 ` Warren Togami
2004-04-20 9:05 ` Jens Axboe
2004-04-20 10:53 ` Warren Togami
2004-04-20 10:56 ` Jens Axboe
2004-04-20 11:29 ` Warren Togami
2004-04-20 11:34 ` Jens Axboe
2004-04-20 11:38 ` Jens Axboe [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040420113850.GM25806@suse.de \
--to=axboe@suse.de \
--cc=Markus.Lidel@shadowconnect.com \
--cc=alan@redhat.com \
--cc=arjanv@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=torvalds@osdl.org \
--cc=wtogami@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox