From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <525591AD.4060401@gmx.de> Date: Wed, 09 Oct 2013 19:26:05 +0200 From: =?UTF-8?B?VG9yYWxmIEbDtnJzdGVy?= MIME-Version: 1.0 References: <524C6643.2040209@gmx.de> <524DBD5D.1040203@gmx.de> <524DBFBB.1050002@nod.at> <524DC278.3020106@gmx.de> <524DC394.6030406@nod.at> <524DC675.4020201@gmx.de> <524E57BA.805@nod.at> <52517109.90605@gmx.de> <5251C334.3010604@gmx.de> <5251CF94.5040101@gmx.de> In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Subject: Re: [uml-devel] BUG: soft lockup for a user mode linux image To: Geert Uytterhoeven Cc: Richard Weinberger , UML devel List-ID: On 10/08/2013 10:07 PM, Geert Uytterhoeven wrote: > On Sun, Oct 6, 2013 at 11:01 PM, Toralf Förster wrote: >>> Hmm, now pages_dirtied is zero, according to the backtrace, but the BUG_ON() >>> asserts its strict positive?!? >>> >>> Can you please try the following instead of the BUG_ON(): >>> >>> if (pause < 0) { >>> printk("pages_dirtied = %lu\n", pages_dirtied); >>> printk("task_ratelimit = %lu\n", task_ratelimit); >>> printk("pause = %ld\n", pause); >>> } >>> >>> Gr{oetje,eeting}s, >>> >>> Geert >> I tried it in different ways already - I'm completely unsuccessful in getting any printk output. >> As soon as the issue happens I do have a >> >> BUG: soft lockup - CPU#0 stuck for 22s! [trinity-child0:1521] >> >> at stderr of the UML and then no further input is accepted. With uml_mconsole I'm however able >> to run very basic commands like a crash dump, sysrq ond so on. > > You may get an idea of the magnitude of pages_dirtied by using a chain of > BUG_ON()s, like: > > BUG_ON(pages_dirtied > 2000000000); > BUG_ON(pages_dirtied > 1000000000); > BUG_ON(pages_dirtied > 100000000); > BUG_ON(pages_dirtied > 10000000); > BUG_ON(pages_dirtied > 1000000); > > Probably 1 million is already too much for normal operation? > period = HZ * pages_dirtied / task_ratelimit; BUG_ON(pages_dirtied > 2000000000); BUG_ON(pages_dirtied > 1000000000); <-------------- this is line 1467 the back trace is : tfoerste@n22 ~/devel/linux $ gdb --core=/mnt/ramdisk/core /home/tfoerste/devel/linux/linux -batch -ex bt [New LWP 6911] Core was generated by `/home/tfoerste/devel/linux/linux earlyprintk ubda=/home/tfoerste/virtual/uml/tr'. Program terminated with signal 6, Aborted. #0 0xb77a7424 in __kernel_vsyscall () #0 0xb77a7424 in __kernel_vsyscall () #1 0x083bdf35 in kill () #2 0x0807296d in uml_abort () at arch/um/os-Linux/util.c:93 #3 0x08072ca5 in os_dump_core () at arch/um/os-Linux/util.c:148 #4 0x080623c4 in panic_exit (self=0x85c1558 , unused1=0, unused2=0x85f76e0 ) at arch/um/kernel/um_arch.c:240 #5 0x0809ba86 in notifier_call_chain (nl=0x0, val=0, v=0x85f76e0 , nr_to_call=-2, nr_calls=0x0) at kernel/notifier.c:93 #6 0x0809bba1 in __atomic_notifier_call_chain (nh=0x85f76c4 , val=0, v=0x85f76e0 , nr_to_call=0, nr_calls=0x0) at kernel/notifier.c:182 #7 0x0809bbdf in atomic_notifier_call_chain (nh=0x0, val=0, v=0x0) at kernel/notifier.c:191 #8 0x0841b5bc in panic (fmt=0x0) at kernel/panic.c:130 #9 0x0841c470 in balance_dirty_pages (pages_dirtied=23, mapping=) at mm/page-writeback.c:1467 #10 0x080d3595 in balance_dirty_pages_ratelimited (mapping=0x6) at mm/page-writeback.c:1661 #11 0x080e4a3f in __do_fault (mm=0x45ba3600, vma=0x48777b90, address=1084678144, pmd=0x0, pgoff=0, flags=0, orig_pte=) at mm/memory.c:3452 #12 0x080e6e0f in do_linear_fault (orig_pte=..., flags=, pmd=, address=, vma=, mm=, page_table=) at mm/memory.c:3486 #13 handle_pte_fault (flags=, pmd=, pte=, address=, vma=, mm=) at mm/memory.c:3710 #14 __handle_mm_fault (flags=, address=, vma=, mm=) at mm/memory.c:3845 #15 handle_mm_fault (mm=0x45ba3600, vma=0x487034c8, address=1084678144, flags=1) at mm/memory.c:3868 #16 0x080e7817 in __get_user_pages (tsk=0x48705800, mm=0x45ba3600, start=1084678144, nr_pages=1025, gup_flags=519, pages=0x48558000, vmas=0x0, nonblocking=0x0) at mm/memory.c:1822 #17 0x080e7ae3 in get_user_pages (tsk=0x0, mm=0x0, start=0, nr_pages=0, write=1, force=0, pages=0x48777b90, vmas=0x6) at mm/memory.c:2019 #18 0x08143dc6 in aio_setup_ring (ctx=) at fs/aio.c:340 #19 ioctx_alloc (nr_events=) at fs/aio.c:605 #20 SYSC_io_setup (ctxp=, nr_events=) at fs/aio.c:1122 #21 SyS_io_setup (nr_events=65535, ctxp=135081984) at fs/aio.c:1105 #22 0x08062984 in handle_syscall (r=0x487059d4) at arch/um/kernel/skas/syscall.c:35 #23 0x08074fb5 in handle_trap (local_using_sysemu=, regs=, pid=) at arch/um/os-Linux/skas/process.c:198 #24 userspace (regs=0x487059d4) at arch/um/os-Linux/skas/process.c:431 #25 0x0805f750 in fork_handler () at arch/um/kernel/process.c:160 #26 0x00000000 in ?? () > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds > -- MfG/Sincerely Toralf Förster pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3