* Badness in as_completed_request warning
@ 2003-09-08 16:48 Dave Olien
2003-09-09 3:40 ` Nick Piggin
0 siblings, 1 reply; 6+ messages in thread
From: Dave Olien @ 2003-09-08 16:48 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, piggin, axboe
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Badness in as_completed_request warning
2003-09-08 16:48 Badness in as_completed_request warning Dave Olien
@ 2003-09-09 3:40 ` Nick Piggin
2003-09-09 6:12 ` Dave Olien
0 siblings, 1 reply; 6+ messages in thread
From: Nick Piggin @ 2003-09-09 3:40 UTC (permalink / raw)
To: Dave Olien; +Cc: Andrew Morton, linux-kernel, axboe
[-- 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);
_
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Badness in as_completed_request warning
2003-09-09 3:40 ` Nick Piggin
@ 2003-09-09 6:12 ` Dave Olien
2003-09-09 7:04 ` Nick Piggin
0 siblings, 1 reply; 6+ messages in thread
From: Dave Olien @ 2003-09-09 6:12 UTC (permalink / raw)
To: Nick Piggin; +Cc: Andrew Morton, linux-kernel, axboe
[-- Attachment #1: Type: text/plain, Size: 599 bytes --]
On Tue, Sep 09, 2003 at 01:40:57PM +1000, Nick Piggin wrote:
> Hi Dave,
> Can you try 2.6.0-test5 with the following patch please. Thanks
>
I applied this patch, and gave it a shot. It seems to have made things
worse. Instead of the warnings occurring only at the end of the mkfs
runs, they now occur pretty much constantly, and it finally ends
with an Bug_On. Attached is the console output. There are 20
occurrances of Badness in as-iosched.c line 1020. There is one
occurrance of Badness in as-iosched.c line 1025. The Bug_On() is in
as-iosched.c line 1243.
Console output is attached.
[-- Attachment #2: typescript --]
[-- Type: text/plain, Size: 39265 bytes --]
Linux version 2.6.0-test5-NP (dmo@cl045) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 SMP Tue Sep 9 02:52:46 PDT 2003
[root@cl045 root]# Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1025
Call Trace:
[<c021b52c>] as_remove_dispatched_request+0x6c/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Badness in as_remove_dispatched_request at drivers/block/as-iosched.c:1020
Call Trace:
[<c021b582>] as_remove_dispatched_request+0xc2/0x100
[<c02139a9>] elv_remove_request+0x29/0x40
[<c022ca2a>] DAC960_ProcessRequest+0x16a/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
------------[ cut here ]------------
kernel BUG at drivers/block/as-iosched.c:1243!
invalid operand: 0000 [#1]
CPU: 1
EIP: 0060:[<c021ba76>] Not tainted
EFLAGS: 00010046
EIP is at as_dispatch_request+0x236/0x2f0
eax: 00000000 ebx: dfd3cbc0 ecx: 00000000 edx: 00000000
esi: 00000000 edi: 00000001 ebp: 00000000 esp: d9559a38
ds: 007b es: 007b ss: 0068
Process mkfs.ext2 (pid: 1273, threadinfo=d9558000 task=dd5cece0)
Stack: dfd3cbc0 d47b9c60 dff98000 dfd06f80 c0228423 dfd3cbc0 00000000 c1731a00
d9559af8 c021bb68 dfd3cbc0 00000039 c1731a00 c0213886 c1731a00 c1770890
dff98000 00000039 dff98000 c022c8f8 c1731a00 d46c55d8 c1770920 0021bb68
Call Trace:
[<c0228423>] DAC960_LP_QueueCommand+0x43/0xb0
[<c021bb68>] as_next_request+0x38/0x50
[<c0213886>] elv_next_request+0x16/0x110
[<c022c8f8>] DAC960_ProcessRequest+0x38/0x190
[<c022cb2b>] DAC960_RequestFunction+0x2b/0x40
[<c02152ff>] generic_unplug_device+0x6f/0x80
[<c0215bac>] get_request_wait+0x7c/0x100
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0213ad1>] elv_may_queue+0x21/0x30
[<c0120690>] autoremove_wake_function+0x0/0x50
[<c0216315>] __make_request+0xd5/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013f1a2>] mempool_free+0x42/0x80
[<c028fc1a>] ip_rcv+0x39a/0x520
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c011e8e0>] default_wake_function+0x0/0x30
[<c010d3d9>] handle_IRQ_event+0x49/0x80
[<c01f1265>] tty_write+0x1a5/0x2c0
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c015fec0>] block_llseek+0x0/0x100
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Code: 0f 0b db 04 c9 be 30 c0 eb c7 8b 43 48 e9 61 ff ff ff 0f 0b
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Badness in as_completed_request warning
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
0 siblings, 2 replies; 6+ messages in thread
From: Nick Piggin @ 2003-09-09 7:04 UTC (permalink / raw)
To: Dave Olien; +Cc: Andrew Morton, linux-kernel, axboe
[-- Attachment #1: Type: text/plain, Size: 766 bytes --]
Dave Olien wrote:
>On Tue, Sep 09, 2003 at 01:40:57PM +1000, Nick Piggin wrote:
>
>>Hi Dave,
>>Can you try 2.6.0-test5 with the following patch please. Thanks
>>
>>
>
>I applied this patch, and gave it a shot. It seems to have made things
>worse. Instead of the warnings occurring only at the end of the mkfs
>runs, they now occur pretty much constantly, and it finally ends
>with an Bug_On. Attached is the console output. There are 20
>occurrances of Badness in as-iosched.c line 1020. There is one
>occurrance of Badness in as-iosched.c line 1025. The Bug_On() is in
>as-iosched.c line 1243.
>
>Console output is attached.
>
Thanks Dave,
Can you try this one? I can't reproduce the problem here as I don't have
enough disks unfortunately. Thanks
Nick
[-- Attachment #2: as-warn-fix.patch --]
[-- Type: text/plain, Size: 3561 bytes --]
linux-2.6-npiggin/drivers/block/as-iosched.c | 60 +++++++++++++++++++--------
1 files changed, 43 insertions(+), 17 deletions(-)
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 17:02:41.000000000 +1000
+++ linux-2.6-npiggin/drivers/block/as-iosched.c 2003-09-09 17:02:41.000000000 +1000
@@ -373,7 +373,7 @@ static void as_move_to_dispatch(struct a
* direct IO, then move the alias to the dispatch list and then add the
* request.
*/
-static void as_add_arq_rb(struct as_data *ad, struct as_rq *arq)
+static int as_add_arq_rb(struct as_data *ad, struct as_rq *arq)
{
struct as_rq *alias;
struct request *rq = arq->request;
@@ -381,10 +381,20 @@ 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))) {
+ arq->state = AS_RQ_NEW;
+ list_add_tail(&arq->request->queuelist,
+ &alias->request->queuelist);
+
+ return 1;
+ }
rb_insert_color(&arq->rb_node, ARQ_RB_ROOT(ad, arq));
+ return 0;
}
static inline void as_del_arq_rb(struct as_data *ad, struct as_rq *arq)
@@ -1131,7 +1141,21 @@ 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);
+ } 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);
@@ -1303,22 +1327,22 @@ static void as_add_request(struct as_dat
arq->is_sync = 0;
data_dir = arq->is_sync;
- arq->io_context = as_get_io_context();
+ if (!as_add_arq_rb(ad, arq)) {
+ arq->io_context = as_get_io_context();
- if (arq->io_context) {
- atomic_inc(&arq->io_context->aic->nr_queued);
- as_update_iohist(arq->io_context->aic, arq->request);
- }
-
- as_add_arq_rb(ad, arq);
+ if (arq->io_context) {
+ atomic_inc(&arq->io_context->aic->nr_queued);
+ as_update_iohist(arq->io_context->aic, arq->request);
+ }
- /*
- * set expire time (only used for reads) and add to fifo list
- */
- arq->expires = jiffies + ad->fifo_expire[data_dir];
- list_add_tail(&arq->fifo, &ad->fifo_list[data_dir]);
- arq->state = AS_RQ_QUEUED;
- as_update_arq(ad, arq); /* keep state machine up to date */
+ /*
+ * set expire time (only used for reads) and add to fifo list
+ */
+ arq->expires = jiffies + ad->fifo_expire[data_dir];
+ list_add_tail(&arq->fifo, &ad->fifo_list[data_dir]);
+ arq->state = AS_RQ_QUEUED;
+ as_update_arq(ad, arq); /* keep state machine up to date */
+ }
}
/*
@@ -1495,7 +1519,8 @@ static void as_merged_request(request_qu
*/
if (rq_rb_key(req) != arq->rb_key) {
as_del_arq_rb(ad, arq);
- as_add_arq_rb(ad, arq);
+ if (as_add_arq_rb(ad, arq))
+ WARN_ON(1);
/*
* Note! At this stage of this and the next function, our next
* request may not be optimal - eg the request may have "grown"
@@ -1526,7 +1551,8 @@ as_merged_requests(request_queue_t *q, s
if (rq_rb_key(req) != arq->rb_key) {
as_del_arq_rb(ad, arq);
- as_add_arq_rb(ad, arq);
+ if (as_add_arq_rb(ad, arq))
+ WARN_ON(1);
}
/*
_
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Badness in as_completed_request warning
2003-09-09 7:04 ` Nick Piggin
@ 2003-09-09 15:38 ` Dave Olien
2003-09-09 16:44 ` Dave Olien
1 sibling, 0 replies; 6+ messages in thread
From: Dave Olien @ 2003-09-09 15:38 UTC (permalink / raw)
To: Nick Piggin; +Cc: Andrew Morton, linux-kernel, axboe
[-- Attachment #1: Type: text/plain, Size: 4122 bytes --]
Sorry, this one Bug()'d really quickly. I applied this patch to
an unmodified test5 kernel. Console output is attached.
On Tue, Sep 09, 2003 at 05:04:10PM +1000, Nick Piggin wrote:
>
> Thanks Dave,
> Can you try this one? I can't reproduce the problem here as I don't have
> enough disks unfortunately. Thanks
>
> Nick
> linux-2.6-npiggin/drivers/block/as-iosched.c | 60 +++++++++++++++++++--------
> 1 files changed, 43 insertions(+), 17 deletions(-)
>
> 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 17:02:41.000000000 +1000
> +++ linux-2.6-npiggin/drivers/block/as-iosched.c 2003-09-09 17:02:41.000000000 +1000
> @@ -373,7 +373,7 @@ static void as_move_to_dispatch(struct a
> * direct IO, then move the alias to the dispatch list and then add the
> * request.
> */
> -static void as_add_arq_rb(struct as_data *ad, struct as_rq *arq)
> +static int as_add_arq_rb(struct as_data *ad, struct as_rq *arq)
> {
> struct as_rq *alias;
> struct request *rq = arq->request;
> @@ -381,10 +381,20 @@ 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))) {
> + arq->state = AS_RQ_NEW;
> + list_add_tail(&arq->request->queuelist,
> + &alias->request->queuelist);
> +
> + return 1;
> + }
>
> rb_insert_color(&arq->rb_node, ARQ_RB_ROOT(ad, arq));
> + return 0;
> }
>
> static inline void as_del_arq_rb(struct as_data *ad, struct as_rq *arq)
> @@ -1131,7 +1141,21 @@ 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);
> + } 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);
>
> @@ -1303,22 +1327,22 @@ static void as_add_request(struct as_dat
> arq->is_sync = 0;
> data_dir = arq->is_sync;
>
> - arq->io_context = as_get_io_context();
> + if (!as_add_arq_rb(ad, arq)) {
> + arq->io_context = as_get_io_context();
>
> - if (arq->io_context) {
> - atomic_inc(&arq->io_context->aic->nr_queued);
> - as_update_iohist(arq->io_context->aic, arq->request);
> - }
> -
> - as_add_arq_rb(ad, arq);
> + if (arq->io_context) {
> + atomic_inc(&arq->io_context->aic->nr_queued);
> + as_update_iohist(arq->io_context->aic, arq->request);
> + }
>
> - /*
> - * set expire time (only used for reads) and add to fifo list
> - */
> - arq->expires = jiffies + ad->fifo_expire[data_dir];
> - list_add_tail(&arq->fifo, &ad->fifo_list[data_dir]);
> - arq->state = AS_RQ_QUEUED;
> - as_update_arq(ad, arq); /* keep state machine up to date */
> + /*
> + * set expire time (only used for reads) and add to fifo list
> + */
> + arq->expires = jiffies + ad->fifo_expire[data_dir];
> + list_add_tail(&arq->fifo, &ad->fifo_list[data_dir]);
> + arq->state = AS_RQ_QUEUED;
> + as_update_arq(ad, arq); /* keep state machine up to date */
> + }
> }
>
> /*
> @@ -1495,7 +1519,8 @@ static void as_merged_request(request_qu
> */
> if (rq_rb_key(req) != arq->rb_key) {
> as_del_arq_rb(ad, arq);
> - as_add_arq_rb(ad, arq);
> + if (as_add_arq_rb(ad, arq))
> + WARN_ON(1);
> /*
> * Note! At this stage of this and the next function, our next
> * request may not be optimal - eg the request may have "grown"
> @@ -1526,7 +1551,8 @@ as_merged_requests(request_queue_t *q, s
>
> if (rq_rb_key(req) != arq->rb_key) {
> as_del_arq_rb(ad, arq);
> - as_add_arq_rb(ad, arq);
> + if (as_add_arq_rb(ad, arq))
> + WARN_ON(1);
> }
>
> /*
>
> _
[-- Attachment #2: typescript --]
[-- Type: text/plain, Size: 2147 bytes --]
root@cl045 root]# ------------[ cut here ]------------
kernel BUG at drivers/block/as-iosched.c:302!
invalid operand: 0000 [#1]
CPU: 0
EIP: 0060:[<c021a880>] Not tainted
EFLAGS: 00010046
EIP is at as_find_arq_hash+0x80/0x90
eax: 00000000 ebx: d2fc8ed4 ecx: d2fc8ed4 edx: d2fc8eb8
esi: d2fc9ec0 edi: c17319e0 ebp: 007c054f esp: dd4fdae0
ds: 007b es: 007b ss: 0068
Process mkfs.ext2 (pid: 1276, threadinfo=dd4fc000 task=df5b06f0)
Stack: c4acd320 c1731a00 007c0551 00000000 c021bf54 dfd3cbc0 007c054f d41d6a98
c0215a49 dfd3cbc0 00000000 c1731a00 d41d6a98 00000001 c0213709 c1731a00
dd4fdb4c c4acd320 c0216578 c1731a00 dd4fdb4c c4acd320 00000000 007c054f
Call Trace:
[<c021bf54>] as_merge+0xe4/0x170
[<c0215a49>] get_request+0x1b9/0x2a0
[<c0213709>] elv_merge+0x29/0x30
[<c0216578>] __make_request+0x338/0x580
[<c02168d5>] generic_make_request+0x115/0x1a0
[<c0119ebd>] smp_apic_timer_interrupt+0xdd/0x150
[<c015d917>] bio_alloc+0xd7/0x1c0
[<c02169b4>] submit_bio+0x54/0xa0
[<c015b660>] __block_write_full_page+0x270/0x470
[<c015ceda>] block_write_full_page+0xfa/0x120
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c015fe3f>] blkdev_writepage+0x1f/0x30
[<c015fcc0>] blkdev_get_block+0x0/0x60
[<c017a308>] mpage_writepages+0x208/0x2db
[<c015fe20>] blkdev_writepage+0x0/0x30
[<c016102f>] generic_writepages+0x1f/0x23
[<c014198e>] do_writepages+0x1e/0x40
[<c0178866>] __sync_single_inode+0xc6/0x220
[<c0178c1c>] sync_sb_inodes+0x1ac/0x270
[<c0178d4a>] writeback_inodes+0x6a/0xa0
[<c0141438>] balance_dirty_pages+0xb8/0x160
[<c013e1ad>] generic_file_aio_write_nolock+0x4cd/0xac0
[<c013cbf1>] file_read_actor+0xe1/0x100
[<c010b96e>] apic_timer_interrupt+0x1a/0x20
[<c013e81e>] generic_file_write_nolock+0x7e/0xa0
[<c011e8e0>] default_wake_function+0x0/0x30
[<c012a906>] update_wall_time+0x16/0x40
[<c012ad30>] do_timer+0xc0/0xd0
[<c0111826>] timer_interrupt+0x56/0x110
[<c0160dd7>] blkdev_file_write+0x37/0x40
[<c015844e>] vfs_write+0xbe/0x130
[<c0158572>] sys_write+0x42/0x70
[<c010af2d>] sysenter_past_esp+0x52/0x71
Code: 0f 0b 2e 01 49 bf 30 c0 eb b5 8d b6 00 00 00 00 8b 54 24 08
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Badness in as_completed_request warning
2003-09-09 7:04 ` Nick Piggin
2003-09-09 15:38 ` Dave Olien
@ 2003-09-09 16:44 ` Dave Olien
1 sibling, 0 replies; 6+ messages in thread
From: Dave Olien @ 2003-09-09 16:44 UTC (permalink / raw)
To: Nick Piggin; +Cc: Andrew Morton, linux-kernel, axboe
On Tue, Sep 09, 2003 at 05:04:10PM +1000, Nick Piggin wrote:
>
> Thanks Dave,
> Can you try this one? I can't reproduce the problem here as I don't have
> enough disks unfortunately. Thanks
>
> Nick
One of OSDL's reasons for existance is to arrange for Linux developers
to have access to larger hardware configurations. I'm sure you could
get a project machine here at OSDL to do testing of I/O scheduler
modifications, or other testing on a larger machine. Several other
kernel developers have project machines here at OSDL.
Look at the web page
http://www.osdl.org/lab_activities/be_an_associate.html
Fill out the web page form to get a login. send email to Cliffw@osdl.org
and me, and we'll see that it gets handled quickly.
You'd be able to ssh into a front-end machine here at OSDL. It would
give you serial console access to a test machine. You'd also be able
to power on/power off and reset the test machine, and ssh into the
test machine from that front-end.
Dave
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2003-09-09 16:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-08 16:48 Badness in as_completed_request warning Dave Olien
2003-09-09 3:40 ` Nick Piggin
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).