All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Bram Matthys (Syzop)" <syzop@vulnscan.org>
To: user-mode-linux-devel@lists.sourceforge.net
Subject: [SPAM] Re: [uml-devel] umls unresponsive & consuming 100% cpu time
Date: Sat, 10 May 2008 10:41:40 +0200	[thread overview]
Message-ID: <48255FC4.4040805@vulnscan.org> (raw)
In-Reply-To: <20080509154552.GH10169@c2.user-mode-linux.org>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sorry, this was supposed to go to the list...

UPDATE: after 12+ hours still hung.

Jeff Dike wrote:
| On Wed, May 07, 2008 at 04:00:28PM +0200, Bram Matthys (Syzop) wrote:
|> I'm experiencing the following problem:
|> I upgraded from 2.6.20.1 to 2.6.25 on both the host and the uml's.
|> Now, after some time (unsure how soon), the uml's appear to hang.
|> It seems though, that they are not completely freezed, but just very very
|> very slow (or rather.. 99% unresponsive).
|>
|> top:
|> ~  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
|> ~ 5434 virt      20   0  128m  89m  89m R   99  4.5 269:40.81 linux
|> ..so consuming nearly 100% cpu.
|
| Are you using CONFIG_NOHZ?
|
| There have been some recent time-related fixes.  Can you try the two
| patches below and see if they help?

Thanks for your reply.

$ grep HZ .config
CONFIG_HZ=100
# CONFIG_NO_HZ is not set

I've applied your patch against my 2.6.25 (vanilla)...
patching file arch/um/os-Linux/time.c
patching file arch/um/kernel/time.c
Hunk #1 succeeded at 74 (offset -1 lines).
Hunk #2 succeeded at 82 (offset -1 lines).
and recompiled etc..

I saw vincent's issue, and when I set the time like 5 seconds back.. the UML
freezes and uses 100% cpu and doesn't respond at all. This is however not
entirely the same as what I had, because i still had it somewhat responsive...

Anyway, applied your patches and recompiled, booted etc.. hangs again when I
set the time 5s back.
I also tested with 1s backwards... same...
This was a quick test, I don't know if it becomes responsive after like
several hours...

Attaching to program: /home/virt/linux, process 25109
0x080978bf in update_wall_time () at kernel/time/timekeeping.c:475
475                     clock->error -= clock->xtime_interval <<
(TICK_LENGTH_SHIFT - clock->shift);
(gdb) bt
#0  0x080978bf in update_wall_time () at kernel/time/timekeeping.c:475
#1  0x08086bb5 in do_timer (ticks=1) at kernel/timer.c:929
#2  0x08099793 in tick_periodic (cpu=0) at kernel/time/tick-common.c:66
#3  0x080997b8 in tick_handle_periodic (dev=0x8355420) at
kernel/time/tick-common.c:82
#4  0x0805c143 in um_timer (irq=0, dev=0x0) at arch/um/kernel/time.c:70
#5  0x0809fac0 in handle_IRQ_event (irq=0, action=0x11449460) at
kernel/irq/handle.c:140
#6  0x0809fb6a in __do_IRQ (irq=0) at kernel/irq/handle.c:236
#7  0x08059d65 in do_IRQ (irq=0, regs=0x834fe98) at arch/um/kernel/irq.c:335
#8  0x0805c0c6 in timer_handler (sig=26, regs=0x834fe98) at
arch/um/kernel/time.c:28
#9  0x0806c3d9 in real_alarm_handler (sc=0x0) at arch/um/os-Linux/signal.c:93
#10 0x0806c410 in alarm_handler (sig=26, sc=0x0) at
arch/um/os-Linux/signal.c:108
#11 0x0806cee4 in deliver_alarm () at arch/um/os-Linux/time.c:116
#12 0x0806d0f1 in idle_sleep (nsecs=<value optimized out>) at
arch/um/os-Linux/time.c:180
#13 0x0805ab13 in default_idle () at arch/um/kernel/process.c:248
#14 0x0805ab56 in cpu_idle () at arch/um/kernel/process.c:256
#15 0x082b379a in rest_init () at init/main.c:453
#16 0x0804879a in start_kernel () at init/main.c:650
#17 0x0804a12c in start_kernel_proc (unused=0x0) at
arch/um/kernel/skas/process.c:46
#18 0x0806b671 in run_kernel_thread (fn=0x804a100 <start_kernel_proc>,
arg=0x0, jmp_ptr=0x83551e0)
~    at arch/um/os-Linux/process.c:267
#19 0x0805a892 in new_thread_handler () at arch/um/kernel/process.c:151
#20 0x00000000 in ?? ()
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x0809785c in update_wall_time () at kernel/time/timekeeping.c:464
464                     clock->cycle_last += clock->cycle_interval;
(gdb) bt
#0  0x0809785c in update_wall_time () at kernel/time/timekeeping.c:464
#1  0x08086bb5 in do_timer (ticks=1) at kernel/timer.c:929
#2  0x08099793 in tick_periodic (cpu=0) at kernel/time/tick-common.c:66
#3  0x080997b8 in tick_handle_periodic (dev=0x8355420) at
kernel/time/tick-common.c:82
#4  0x0805c143 in um_timer (irq=0, dev=0x0) at arch/um/kernel/time.c:70
#5  0x0809fac0 in handle_IRQ_event (irq=0, action=0x11449460) at
kernel/irq/handle.c:140
#6  0x0809fb6a in __do_IRQ (irq=0) at kernel/irq/handle.c:236
#7  0x08059d65 in do_IRQ (irq=0, regs=0x834fe98) at arch/um/kernel/irq.c:335
#8  0x0805c0c6 in timer_handler (sig=26, regs=0x834fe98) at
arch/um/kernel/time.c:28
#9  0x0806c3d9 in real_alarm_handler (sc=0x0) at arch/um/os-Linux/signal.c:93
#10 0x0806c410 in alarm_handler (sig=26, sc=0x0) at
arch/um/os-Linux/signal.c:108
#11 0x0806cee4 in deliver_alarm () at arch/um/os-Linux/time.c:116
#12 0x0806d0f1 in idle_sleep (nsecs=<value optimized out>) at
arch/um/os-Linux/time.c:180
#13 0x0805ab13 in default_idle () at arch/um/kernel/process.c:248
#14 0x0805ab56 in cpu_idle () at arch/um/kernel/process.c:256
#15 0x082b379a in rest_init () at init/main.c:453
#16 0x0804879a in start_kernel () at init/main.c:650
#17 0x0804a12c in start_kernel_proc (unused=0x0) at
arch/um/kernel/skas/process.c:46
#18 0x0806b671 in run_kernel_thread (fn=0x804a100 <start_kernel_proc>,
arg=0x0, jmp_ptr=0x83551e0)
~    at arch/um/os-Linux/process.c:267
#19 0x0805a892 in new_thread_handler () at arch/um/kernel/process.c:151
#20 0x00000000 in ?? ()
(gdb)

I also saw this on my console (which does not react either btw), not sure
when it appeared.. at or very short after/before the time setting:
Stub registers -
~        0 - 621a
~        1 - 13
~        2 - 621a
~        3 - 6215
~        4 - 8
~        5 - bfae182c
~        6 - 0
~        7 - 7b
~        8 - 7b
~        9 - 0
~        10 - 0
~        11 - ffffffff
~        12 - 1000be
~        13 - 73
~        14 - 200246
~        15 - bfae1810
~        16 - 7b
wait_stub_done : failed to wait for SIGTRAP, pid = 26141, n = 26141, errno =
0, status = 0x1c7f

The old 2.6.20.1 uml's react fine when setting time backwards, btw (well..
within reasonable limits)

	Bram.

- --
Bram Matthys
Software developer/IT consultant        syzop@vulnscan.org
PGP key:                       www.vulnscan.org/pubkey.asc
PGP fp: 8DD4 437E 9BA8 09AA 0A8D  1811 E1C3 D65F E6ED 2AA2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)

iD8DBQFIJV/E46ioc5305a8RAsiwAJ4wjzYWngQWdfQ+EdGuJgXFyu5PYQCeIPbe
tqYB/w+brTtcjK0dLpoe/yY=
=P50g
-----END PGP SIGNATURE-----


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
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:[~2008-05-10  8:42 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-07 14:00 [uml-devel] umls unresponsive & consuming 100% cpu time Bram Matthys (Syzop)
2008-05-07 20:23 ` Nix
2008-05-08 10:02   ` [SPAM] " Bram Matthys (Syzop)
2008-05-09 15:45 ` Jeff Dike
2008-05-10  8:41   ` Bram Matthys (Syzop) [this message]
2008-05-13 15:40     ` Jeff Dike
2008-05-14  8:41     ` Sakari Ailus
2008-05-19 16:16       ` Jeff Dike
2008-05-31  9:16         ` Bram Matthys (Syzop)

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=48255FC4.4040805@vulnscan.org \
    --to=syzop@vulnscan.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.