All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ondřej Kunc" <ondra@czol.eu>
To: Lukas Czerner <lczerner@redhat.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: Ext4 in user mode linux hang
Date: Thu, 18 Nov 2010 19:39:16 +0100	[thread overview]
Message-ID: <4CE572D4.2070000@czol.eu> (raw)
In-Reply-To: <alpine.LFD.2.00.1011181852270.15886@dhcp-lab-213.englab.brq.redhat.com>

Hi,

using the same configuration except using ext3 instead of ext4 the test 
runs for many minutes without hang. Using ext4 it hangs in 10 minutes at 
all.

Ondra

Dne 18.11.2010 18:55, Lukas Czerner napsal(a):
> On Thu, 18 Nov 2010, Ondřej Kunc wrote:
>
>    
>> 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
>>      
> I did not look at the traces closely, but did you tried another
> filesystem ? My experience with UML is that it is always broken so the
> problem might as well be somewhere else.
>
> -Lukas
>
>    
>>
>>
>> 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

      parent reply	other threads:[~2010-11-18 18:39 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-18 17:43 Ext4 in user mode linux hang Ondřej Kunc
2010-11-18 17:43 ` [uml-devel] " 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 [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=4CE572D4.2070000@czol.eu \
    --to=ondra@czol.eu \
    --cc=lczerner@redhat.com \
    --cc=linux-ext4@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.