All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ondřej Kunc" <ondra@czol.eu>
To: user-mode-linux-devel@lists.sourceforge.net, linux-ext4@vger.kernel.org
Subject: Ext4 in user mode linux hang
Date: Thu, 18 Nov 2010 18:43:45 +0100	[thread overview]
Message-ID: <4CE565D1.602@czol.eu> (raw)

Hi,

I've recently tested ext4 in user mode linux VM. I compiled linux 
2.6.36(from debian source package). I configured kernel this way ... 
only disabled modules (to work with default debootstraped debian). Then 
I created this script:

#!/bin/bash
DD="dd if=/dev/zero bs=1k"
for i in `seq 1 1000`; do
         A=$(($RANDOM%50000))
         $DD count=$A of=frag_$A
         for i in `seq 1 100`; do
                 A=$(($RANDOM%50000))
                 rm -f frag_$A
         done
done


This script I'had run on mounted ext4 partition (/dev/ubda -> 
/mnt/test). It's purpose is creating fragmented filesystem to test 
e4defrag. But after some time it hungs the whole virtual system. All 
processes which want to write to /mnt/test are still in D state. I 
issued sysrq t via uml_mconsole and in that output I found traces below.

Ondra



flush-98:16   D 0000000041a0d8b3     0   811      2 0x00000000
67c57d80 60276e90 69857980 6002a1ed 69857990 60013597 67c578c0 69856000
        69856000 67c578c0 698579f0 601d3181 69857a10 601d74a0 698579f0 
69856000
        ffffffff00000a57 62e09800 00000000 69ab1480 69856000 69857a58 
69857aa0 6012274e
Call Trace:
69857958:  [<6002a1ed>] dequeue_task+0x39/0x48
69857968:  [<60013597>] _switch_to+0x5e/0xae
69857998:  [<601d3181>] schedule+0x274/0x2ae
698579f8:  [<6012274e>] start_this_handle+0x2f4/0x395
69857a50:  [<60042f42>] autoremove_wake_function+0x0/0x34
69857aa8:  [<6012297c>] jbd2__journal_start+0xb9/0xf7
69857af8:  [<601229c8>] jbd2_journal_start+0xe/0x10
69857b08:  [<6010abe5>] ext4_journal_start_sb+0xe0/0x125
69857b28:  [<600fa802>] ext4_meta_trans_blocks+0x5b/0xaf
69857b68:  [<60100a43>] ext4_da_writepages+0x249/0x479
69857c58:  [<6005b042>] do_writepages+0x1c/0x25
69857c68:  [<600908bc>] writeback_single_inode+0x93/0x1d4
69857c98:  [<60090c4e>] writeback_sb_inodes+0xa1/0xfe
69857cf8:  [<60091364>] writeback_inodes_wb+0xc5/0xe4
69857d00:  [<60042f76>] wake_bit_function+0x0/0x2e
69857d48:  [<600914f2>] wb_writeback+0x16f/0x1de
69857da8:  [<601d3189>] schedule+0x27c/0x2ae
69857df8:  [<60091674>] wb_do_writeback+0x113/0x130
69857e08:  [<601d3400>] schedule_timeout+0x13e/0x15c
69857e78:  [<6009171a>] bdi_writeback_thread+0x89/0x13f
69857eb0:  [<60091691>] bdi_writeback_thread+0x0/0x13f
69857ed0:  [<60091691>] bdi_writeback_thread+0x0/0x13f
69857ee8:  [<60042c99>] kthread+0x91/0x99
69857f48:  [<60021329>] run_kernel_thread+0x41/0x4a
69857f58:  [<60042c08>] kthread+0x0/0x99
69857f98:  [<60021310>] run_kernel_thread+0x28/0x4a
69857fc8:  [<6001350f>] new_thread_handler+0x71/0x9b

jbd2/ubdb-8   D 0000000041a0d8b3     0  4542      2 0x00000000
6838d640 60276e90 68275ca0 6002a1ed 68275cb0 60013597 6838d180 68274000
        68274000 6838d180 68275d10 601d3181 68fd7470 601d74a0 68275d10 
68274000
        00000000 62e09800 69ab1480 1000077f1 68274000 69ab1518 68275e50 
60122d7b
Call Trace:
68275c78:  [<6002a1ed>] dequeue_task+0x39/0x48
68275c88:  [<60013597>] _switch_to+0x5e/0xae
68275cb8:  [<601d3181>] schedule+0x274/0x2ae
68275d18:  [<60122d7b>] jbd2_journal_commit_transaction+0x16c/0xe59
68275d98:  [<600245e3>] switch_threads+0x2d/0x3d
68275de0:  [<60042f42>] autoremove_wake_function+0x0/0x34
68275df8:  [<600222bb>] set_signals+0x1c/0x2e
68275e18:  [<60043094>] finish_wait+0x64/0x6f
68275e58:  [<60126168>] kjournald2+0xb8/0x1bb
68275e90:  [<60042f42>] autoremove_wake_function+0x0/0x34
68275eb0:  [<601260b0>] kjournald2+0x0/0x1bb
68275ed0:  [<601260b0>] kjournald2+0x0/0x1bb
68275ee8:  [<60042c99>] kthread+0x91/0x99
68275f48:  [<60021329>] run_kernel_thread+0x41/0x4a
68275f58:  [<60042c08>] kthread+0x0/0x99
68275f98:  [<60021310>] run_kernel_thread+0x28/0x4a
68275fc8:  [<6001350f>] new_thread_handler+0x71/0x9b

dd            D 0000000041a0d8b3     0  4952   4593 0x00000000
6838c8c0 67c57d80 67c578f8 60284440 69b6d7a8 60013597 6838c400 69b6c000
        69b6c000 6838c400 69b6d808 601d3181 69b6d7c8 6002a34f 69b6d808 
69b6c000
        00001000 6838c400 696c0838 00000001 ffffffffffffffff 00000000 
69b6d868 601d43a2
Call Trace:
69b6d780:  [<60013597>] _switch_to+0x5e/0xae
69b6d7b0:  [<601d3181>] schedule+0x274/0x2ae
69b6d7c0:  [<6002a34f>] wake_up_process+0x10/0x12
69b6d810:  [<601d43a2>] rwsem_down_failed_common+0xb8/0xd8
69b6d838:  [<600222bb>] set_signals+0x1c/0x2e
69b6d870:  [<601d43e9>] rwsem_down_read_failed+0x12/0x14
69b6d880:  [<60027b98>] call_rwsem_down_read_failed+0x14/0x24
69b6d8c8:  [<601d3b97>] down_read+0x11/0x13
69b6d8d8:  [<600fe1cc>] ext4_map_blocks+0x3e/0x18e
69b6d938:  [<600ffe02>] ext4_da_get_block_prep+0x83/0x2bd
69b6d958:  [<60095705>] alloc_buffer_head+0x18/0x6c
69b6d968:  [<60095d31>] alloc_page_buffers+0x75/0xd1
69b6d9d8:  [<60097105>] block_prepare_write+0x177/0x380
69b6d9e8:  [<6005588b>] add_to_page_cache_locked+0xbf/0xe7
69b6da00:  [<600ffd7f>] ext4_da_get_block_prep+0x0/0x2bd
69b6da98:  [<600973f3>] __block_write_begin+0x12/0x14
69b6daa8:  [<600ffa62>] ext4_da_write_begin+0x123/0x1b4
69b6db28:  [<60054ca0>] generic_file_buffered_write+0x124/0x27e
69b6dbc8:  [<6008889e>] file_update_time+0x3b/0xfe
69b6dc18:  [<60056634>] __generic_file_aio_write+0x380/0x3bf
69b6dcd8:  [<600566cb>] generic_file_aio_write+0x58/0xa2
69b6dd18:  [<600f7f07>] ext4_file_write+0x92/0xa3
69b6dd48:  [<60077a27>] do_sync_write+0xd1/0x10e
69b6ddb8:  [<60015daf>] buffer_op+0xab/0xc7
69b6de68:  [<600783fb>] vfs_write+0xb5/0x169
69b6dea8:  [<60078568>] sys_write+0x45/0x6c
69b6dee8:  [<60015ab8>] handle_syscall+0x58/0x70
69b6df08:  [<60024ecb>] userspace+0x2dd/0x38a
69b6dfc8:  [<60013497>] fork_handler+0x62/0x69

bash          D 0000000041a0d8b3     0  5324   5271 0x00000002
67e2c540 60276e90 67dcfbd0 6002a1ed 67dcfbe0 60013597 67e2c080 67dce000
        67dce000 67e2c080 67dcfc40 601d3181 62a31000 601d74a0 67dcfc40 
67dce000
        67dcfc10 62e09800 00000000 69ab1480 67dce000 67dcfca8 67dcfcf0 
6012274e
Call Trace:
67dcfba8:  [<6002a1ed>] dequeue_task+0x39/0x48
67dcfbb8:  [<60013597>] _switch_to+0x5e/0xae
67dcfbe8:  [<601d3181>] schedule+0x274/0x2ae
67dcfc48:  [<6012274e>] start_this_handle+0x2f4/0x395
67dcfca0:  [<60042f42>] autoremove_wake_function+0x0/0x34
67dcfcf8:  [<6012297c>] jbd2__journal_start+0xb9/0xf7
67dcfd48:  [<601229c8>] jbd2_journal_start+0xe/0x10
67dcfd58:  [<6010abe5>] ext4_journal_start_sb+0xe0/0x125
67dcfd60:  [<6008424f>] filldir+0x0/0x11a
67dcfdb8:  [<600fb08a>] ext4_dirty_inode+0x1b/0x48
67dcfdd8:  [<60091027>] __mark_inode_dirty+0x29/0x199
67dcfdf8:  [<60088a63>] touch_atime+0x102/0x125
67dcfe38:  [<6008424f>] filldir+0x0/0x11a
67dcfe48:  [<600844fd>] vfs_readdir+0x7a/0xa1
67dcfe98:  [<6008469d>] sys_getdents+0x90/0x124
67dcfee8:  [<60015ab8>] handle_syscall+0x58/0x70
67dcff08:  [<60024ecb>] userspace+0x2dd/0x38a
67dcffc8:  [<60013497>] fork_handler+0x62/0x69

-- 
Ondřej Kunc

správce serverové farmy
CZOL media interactive s.r.o.
Sídlo: Moulíkova 2238/1, Praha 5, 15000
Kanceláře: Na Moráni 5357, Chomutov, 43001
Telefon: +420 723 137 981
E-mail: ondra@czol.eu
URL: www.czol.eu, www.cz-hosting.com

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: "Ondřej Kunc" <ondra@czol.eu>
To: user-mode-linux-devel@lists.sourceforge.net, linux-ext4@vger.kernel.org
Subject: [uml-devel] Ext4 in user mode linux hang
Date: Thu, 18 Nov 2010 18:43:45 +0100	[thread overview]
Message-ID: <4CE565D1.602@czol.eu> (raw)

Hi,

I've recently tested ext4 in user mode linux VM. I compiled linux 
2.6.36(from debian source package). I configured kernel this way ... 
only disabled modules (to work with default debootstraped debian). Then 
I created this script:

#!/bin/bash
DD="dd if=/dev/zero bs=1k"
for i in `seq 1 1000`; do
         A=$(($RANDOM%50000))
         $DD count=$A of=frag_$A
         for i in `seq 1 100`; do
                 A=$(($RANDOM%50000))
                 rm -f frag_$A
         done
done


This script I'had run on mounted ext4 partition (/dev/ubda -> 
/mnt/test). It's purpose is creating fragmented filesystem to test 
e4defrag. But after some time it hungs the whole virtual system. All 
processes which want to write to /mnt/test are still in D state. I 
issued sysrq t via uml_mconsole and in that output I found traces below.

Ondra



flush-98:16   D 0000000041a0d8b3     0   811      2 0x00000000
67c57d80 60276e90 69857980 6002a1ed 69857990 60013597 67c578c0 69856000
        69856000 67c578c0 698579f0 601d3181 69857a10 601d74a0 698579f0 
69856000
        ffffffff00000a57 62e09800 00000000 69ab1480 69856000 69857a58 
69857aa0 6012274e
Call Trace:
69857958:  [<6002a1ed>] dequeue_task+0x39/0x48
69857968:  [<60013597>] _switch_to+0x5e/0xae
69857998:  [<601d3181>] schedule+0x274/0x2ae
698579f8:  [<6012274e>] start_this_handle+0x2f4/0x395
69857a50:  [<60042f42>] autoremove_wake_function+0x0/0x34
69857aa8:  [<6012297c>] jbd2__journal_start+0xb9/0xf7
69857af8:  [<601229c8>] jbd2_journal_start+0xe/0x10
69857b08:  [<6010abe5>] ext4_journal_start_sb+0xe0/0x125
69857b28:  [<600fa802>] ext4_meta_trans_blocks+0x5b/0xaf
69857b68:  [<60100a43>] ext4_da_writepages+0x249/0x479
69857c58:  [<6005b042>] do_writepages+0x1c/0x25
69857c68:  [<600908bc>] writeback_single_inode+0x93/0x1d4
69857c98:  [<60090c4e>] writeback_sb_inodes+0xa1/0xfe
69857cf8:  [<60091364>] writeback_inodes_wb+0xc5/0xe4
69857d00:  [<60042f76>] wake_bit_function+0x0/0x2e
69857d48:  [<600914f2>] wb_writeback+0x16f/0x1de
69857da8:  [<601d3189>] schedule+0x27c/0x2ae
69857df8:  [<60091674>] wb_do_writeback+0x113/0x130
69857e08:  [<601d3400>] schedule_timeout+0x13e/0x15c
69857e78:  [<6009171a>] bdi_writeback_thread+0x89/0x13f
69857eb0:  [<60091691>] bdi_writeback_thread+0x0/0x13f
69857ed0:  [<60091691>] bdi_writeback_thread+0x0/0x13f
69857ee8:  [<60042c99>] kthread+0x91/0x99
69857f48:  [<60021329>] run_kernel_thread+0x41/0x4a
69857f58:  [<60042c08>] kthread+0x0/0x99
69857f98:  [<60021310>] run_kernel_thread+0x28/0x4a
69857fc8:  [<6001350f>] new_thread_handler+0x71/0x9b

jbd2/ubdb-8   D 0000000041a0d8b3     0  4542      2 0x00000000
6838d640 60276e90 68275ca0 6002a1ed 68275cb0 60013597 6838d180 68274000
        68274000 6838d180 68275d10 601d3181 68fd7470 601d74a0 68275d10 
68274000
        00000000 62e09800 69ab1480 1000077f1 68274000 69ab1518 68275e50 
60122d7b
Call Trace:
68275c78:  [<6002a1ed>] dequeue_task+0x39/0x48
68275c88:  [<60013597>] _switch_to+0x5e/0xae
68275cb8:  [<601d3181>] schedule+0x274/0x2ae
68275d18:  [<60122d7b>] jbd2_journal_commit_transaction+0x16c/0xe59
68275d98:  [<600245e3>] switch_threads+0x2d/0x3d
68275de0:  [<60042f42>] autoremove_wake_function+0x0/0x34
68275df8:  [<600222bb>] set_signals+0x1c/0x2e
68275e18:  [<60043094>] finish_wait+0x64/0x6f
68275e58:  [<60126168>] kjournald2+0xb8/0x1bb
68275e90:  [<60042f42>] autoremove_wake_function+0x0/0x34
68275eb0:  [<601260b0>] kjournald2+0x0/0x1bb
68275ed0:  [<601260b0>] kjournald2+0x0/0x1bb
68275ee8:  [<60042c99>] kthread+0x91/0x99
68275f48:  [<60021329>] run_kernel_thread+0x41/0x4a
68275f58:  [<60042c08>] kthread+0x0/0x99
68275f98:  [<60021310>] run_kernel_thread+0x28/0x4a
68275fc8:  [<6001350f>] new_thread_handler+0x71/0x9b

dd            D 0000000041a0d8b3     0  4952   4593 0x00000000
6838c8c0 67c57d80 67c578f8 60284440 69b6d7a8 60013597 6838c400 69b6c000
        69b6c000 6838c400 69b6d808 601d3181 69b6d7c8 6002a34f 69b6d808 
69b6c000
        00001000 6838c400 696c0838 00000001 ffffffffffffffff 00000000 
69b6d868 601d43a2
Call Trace:
69b6d780:  [<60013597>] _switch_to+0x5e/0xae
69b6d7b0:  [<601d3181>] schedule+0x274/0x2ae
69b6d7c0:  [<6002a34f>] wake_up_process+0x10/0x12
69b6d810:  [<601d43a2>] rwsem_down_failed_common+0xb8/0xd8
69b6d838:  [<600222bb>] set_signals+0x1c/0x2e
69b6d870:  [<601d43e9>] rwsem_down_read_failed+0x12/0x14
69b6d880:  [<60027b98>] call_rwsem_down_read_failed+0x14/0x24
69b6d8c8:  [<601d3b97>] down_read+0x11/0x13
69b6d8d8:  [<600fe1cc>] ext4_map_blocks+0x3e/0x18e
69b6d938:  [<600ffe02>] ext4_da_get_block_prep+0x83/0x2bd
69b6d958:  [<60095705>] alloc_buffer_head+0x18/0x6c
69b6d968:  [<60095d31>] alloc_page_buffers+0x75/0xd1
69b6d9d8:  [<60097105>] block_prepare_write+0x177/0x380
69b6d9e8:  [<6005588b>] add_to_page_cache_locked+0xbf/0xe7
69b6da00:  [<600ffd7f>] ext4_da_get_block_prep+0x0/0x2bd
69b6da98:  [<600973f3>] __block_write_begin+0x12/0x14
69b6daa8:  [<600ffa62>] ext4_da_write_begin+0x123/0x1b4
69b6db28:  [<60054ca0>] generic_file_buffered_write+0x124/0x27e
69b6dbc8:  [<6008889e>] file_update_time+0x3b/0xfe
69b6dc18:  [<60056634>] __generic_file_aio_write+0x380/0x3bf
69b6dcd8:  [<600566cb>] generic_file_aio_write+0x58/0xa2
69b6dd18:  [<600f7f07>] ext4_file_write+0x92/0xa3
69b6dd48:  [<60077a27>] do_sync_write+0xd1/0x10e
69b6ddb8:  [<60015daf>] buffer_op+0xab/0xc7
69b6de68:  [<600783fb>] vfs_write+0xb5/0x169
69b6dea8:  [<60078568>] sys_write+0x45/0x6c
69b6dee8:  [<60015ab8>] handle_syscall+0x58/0x70
69b6df08:  [<60024ecb>] userspace+0x2dd/0x38a
69b6dfc8:  [<60013497>] fork_handler+0x62/0x69

bash          D 0000000041a0d8b3     0  5324   5271 0x00000002
67e2c540 60276e90 67dcfbd0 6002a1ed 67dcfbe0 60013597 67e2c080 67dce000
        67dce000 67e2c080 67dcfc40 601d3181 62a31000 601d74a0 67dcfc40 
67dce000
        67dcfc10 62e09800 00000000 69ab1480 67dce000 67dcfca8 67dcfcf0 
6012274e
Call Trace:
67dcfba8:  [<6002a1ed>] dequeue_task+0x39/0x48
67dcfbb8:  [<60013597>] _switch_to+0x5e/0xae
67dcfbe8:  [<601d3181>] schedule+0x274/0x2ae
67dcfc48:  [<6012274e>] start_this_handle+0x2f4/0x395
67dcfca0:  [<60042f42>] autoremove_wake_function+0x0/0x34
67dcfcf8:  [<6012297c>] jbd2__journal_start+0xb9/0xf7
67dcfd48:  [<601229c8>] jbd2_journal_start+0xe/0x10
67dcfd58:  [<6010abe5>] ext4_journal_start_sb+0xe0/0x125
67dcfd60:  [<6008424f>] filldir+0x0/0x11a
67dcfdb8:  [<600fb08a>] ext4_dirty_inode+0x1b/0x48
67dcfdd8:  [<60091027>] __mark_inode_dirty+0x29/0x199
67dcfdf8:  [<60088a63>] touch_atime+0x102/0x125
67dcfe38:  [<6008424f>] filldir+0x0/0x11a
67dcfe48:  [<600844fd>] vfs_readdir+0x7a/0xa1
67dcfe98:  [<6008469d>] sys_getdents+0x90/0x124
67dcfee8:  [<60015ab8>] handle_syscall+0x58/0x70
67dcff08:  [<60024ecb>] userspace+0x2dd/0x38a
67dcffc8:  [<60013497>] fork_handler+0x62/0x69

-- 
Ondřej Kunc

správce serverové farmy
CZOL media interactive s.r.o.
Sídlo: Moulíkova 2238/1, Praha 5, 15000
Kanceláře: Na Moráni 5357, Chomutov, 43001
Telefon: +420 723 137 981
E-mail: ondra@czol.eu
URL: www.czol.eu, www.cz-hosting.com


------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel


             reply	other threads:[~2010-11-18 17:49 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-18 17:43 Ondřej Kunc [this message]
2010-11-18 17:43 ` [uml-devel] Ext4 in user mode linux hang Ondřej Kunc
2010-11-18 17:55 ` Lukas Czerner
2010-11-18 17:55   ` [uml-devel] " Lukas Czerner
2010-11-18 18:35   ` richard -rw- weinberger
2010-11-18 18:35     ` richard -rw- weinberger
2010-11-18 19:32     ` Ondřej Kunc
2010-11-18 19:32       ` Ondřej Kunc
2010-11-18 19:55       ` richard -rw- weinberger
2010-11-18 19:55         ` richard -rw- weinberger
2010-11-18 19:58         ` Ondřej Kunc
2010-11-18 19:58           ` Ondřej Kunc
2010-11-18 22:36           ` richard -rw- weinberger
2010-11-18 22:36             ` richard -rw- weinberger
2010-11-18 18:39   ` Ondřej Kunc

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=4CE565D1.602@czol.eu \
    --to=ondra@czol.eu \
    --cc=linux-ext4@vger.kernel.org \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /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.