From: Nick Piggin <piggin@cyberone.com.au>
To: Dave Olien <dmo@osdl.org>
Cc: Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, axboe@suse.de
Subject: Re: Badness in as_completed_request warning
Date: Tue, 09 Sep 2003 13:40:57 +1000 [thread overview]
Message-ID: <3F5D4BC9.6020708@cyberone.com.au> (raw)
In-Reply-To: <20030908164802.GA13441@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 1588 bytes --]
Hi Dave,
Can you try 2.6.0-test5 with the following patch please. Thanks
Dave Olien wrote:
>I'm getting a "badness" warning from as_iosched.c, line 917.
>This is on 2.6.0-test4-mm6, running on a 2 cpu x86.
>
>The warning occurs when I run three or more instances of mkfs.ext2, where
>each mkfs is running on its own disk. If I run four or more mkfs's
>on paritions all on the same disk I don't get this warning.
>The more instances of mkfs I run (each on separate disks), the
>more instances of this warning I receive.
>
>The mkfs's all progress at the same rate. The warnings
>occur as all mkfs's are "writing superblocks and filesystem
>accounting information", near the end of the mkfs.
>
># Badness in as_completed_request at drivers/block/as-iosched.c:917
>
>Call Trace:
> [<c0220d0d>] as_completed_request+0x1ad/0x1b0
> [<c021946f>] elv_completed_request+0x1f/0x30
> [<c021b87c>] __blk_put_request+0x3c/0xc0
> [<c021c83f>] end_that_request_last+0x5f/0xf0
> [<c0234d02>] DAC960_V2_ProcessCompletedCommand+0x172/0xf50
> [<c029712a>] ip_rcv+0x39a/0x520
> [<c011ebf4>] recalc_task_prio+0xb4/0x1f0
> [<c011f64b>] load_balance+0x1bb/0x430
> [<c0235bfd>] DAC960_LP_InterruptHandler+0x6d/0xb0
> [<c010e789>] handle_IRQ_event+0x49/0x80
> [<c010eb00>] do_IRQ+0xa0/0x150
> [<c010abd0>] default_idle+0x0/0x40
> [<c02f2f8c>] common_interrupt+0x18/0x20
> [<c010abd0>] default_idle+0x0/0x40
> [<c010abfd>] default_idle+0x2d/0x40
> [<c010ac96>] cpu_idle+0x46/0x50
> [<c0107000>] rest_init+0x0/0x60
> [<c039092d>] start_kernel+0x18d/0x1c0
> [<c03904a0>] unknown_bootoption+0x0/0x120
>
>
>
>
>
[-- Attachment #2: as-warn-fix.patch --]
[-- Type: text/plain, Size: 1499 bytes --]
linux-2.6-npiggin/drivers/block/as-iosched.c | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+)
diff -puN drivers/block/as-iosched.c~as-warn-fix drivers/block/as-iosched.c
--- linux-2.6/drivers/block/as-iosched.c~as-warn-fix 2003-09-09 13:01:04.000000000 +1000
+++ linux-2.6-npiggin/drivers/block/as-iosched.c 2003-09-09 13:21:12.000000000 +1000
@@ -381,8 +381,14 @@ static void as_add_arq_rb(struct as_data
arq->rb_key = rq_rb_key(rq);
/* This can be caused by direct IO */
+#if 0
while ((alias = __as_add_arq_rb(ad, arq)))
as_move_to_dispatch(ad, alias);
+#endif
+ if ((alias = __as_add_arq_rb(ad, arq))) {
+ list_add_tail(&arq->request->queuelist,
+ &alias->request->queuelist);
+ }
rb_insert_color(&arq->rb_node, ARQ_RB_ROOT(ad, arq));
}
@@ -1131,7 +1137,24 @@ static void as_move_to_dispatch(struct a
* take it off the sort and fifo list, add to dispatch queue
*/
as_remove_queued_request(ad->q, arq->request);
+
+ for (;;) {
+ struct list_head *alias = &arq->request->queuelist;
+
+ if (!list_empty(alias)) {
+ struct request *rq;
+ rq = list_entry_rq(alias->next);
+ list_del(&rq->queuelist);
+ list_add_tail(&rq->queuelist, ad->dispatch);
+
+ if (arq->io_context && arq->io_context->aic)
+ atomic_inc(&arq->io_context->aic->nr_dispatched);
+ } else
+ break;
+ }
+
list_add_tail(&arq->request->queuelist, ad->dispatch);
+
if (arq->io_context && arq->io_context->aic)
atomic_inc(&arq->io_context->aic->nr_dispatched);
_
next prev parent reply other threads:[~2003-09-09 3:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-08 16:48 Badness in as_completed_request warning Dave Olien
2003-09-09 3:40 ` Nick Piggin [this message]
2003-09-09 6:12 ` Dave Olien
2003-09-09 7:04 ` Nick Piggin
2003-09-09 15:38 ` Dave Olien
2003-09-09 16:44 ` Dave Olien
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=3F5D4BC9.6020708@cyberone.com.au \
--to=piggin@cyberone.com.au \
--cc=akpm@osdl.org \
--cc=axboe@suse.de \
--cc=dmo@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.