From: Nikola Ciprich <nikola.ciprich@linuxbox.cz>
To: user-mode-linux-devel@lists.sourceforge.net
Subject: Re: [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest, problems with noprocmm
Date: Sun, 01 Oct 2006 18:51:12 +0300 [thread overview]
Message-ID: <451FE3F0.1070304@linuxbox.cz> (raw)
In-Reply-To: <200610011725.16069.blaisorblade@yahoo.it>
Hi Paolo and others,
thanks a lot for explanation. I'll just add some things I've noticed
(and also few another questions ;):
My setup is dualcore opteron machine, running SMP 2.6.18, patched with
skasv9-pre9 with fremap support.
guests:
vanilla 2.6.18-x86_64 SKAS
- crashes trying to access /proc/mm
vanilla 2.6.18-x86_64 noprocmm OR skas0
- works equally well, even performance is pretty much the same
(measured on kernel compilation), there's just this problem with
/sbin/halt hang
vanilla 2.6.18-x86 - doesn't matter which arguments are passed
- hangs, strace shows following:
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7f40000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7f3f000
clone(child_stack=0xf7f3ffd4, flags=|SIGCHLD) = 8120
waitpid(8120, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGKILL}],
WSTOPPED) = 8120
--- SIGCHLD (Child exited) @ 0 (0) ---
and child process dies this way:
getppid() = 8119
rt_sigprocmask(SIG_BLOCK, [WINCH], [], 8) = 0
ptrace(PTRACE_TRACEME, 0, 0, 0) = -1 EPERM (Operation
not permitted)
dup(2) = 4
fcntl64(4, F_GETFL) = 0x8002 (flags
O_RDWR|O_LARGEFILE)
fstat64(0x4, 0xf7f3fa44) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7f3e000
_llseek(4, 0, 0xf7f3faa4, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(4, "ptrace: Operation not permitted\n", 32) = 32
close(4) = 0
munmap(0xf7f3e000, 4096) = 0
kill(8120, SIGKILL) = 0
+++ killed by SIGKILL +++
2.6.18-x86_64 with bb1 patch
- SKAS crashes as expected
- noprocmm or skas0 is weird:
if run, panics with:
[42949373.500000] VFS: Mounted root (ext2 filesystem) readonly.
Usage: init 0123456SsQqAaBbCcUu
[42949373.500000] Kernel panic - not syncing: Attempted to
kill init!
- aparentrly init is being executed in some strange way?
- given init=/bin/sh hangs, tracing shows following loop:
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(1381, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV}],
WSTOPPED, NULL) = 1381
ptrace(PTRACE_GETREGS, 1381, 0, 0x60aec330) = 0
ptrace(PTRACE_GETFPREGS, 1381, 0, 0x60aec408) = 0
ptrace(PTRACE_CONT, 1381, 0, SIGSEGV) = 0
- round and round
I hope it helps in some way.
I'm going to try mm patches now, to see if something behaves different
(better if possible :)
nik.
PS: your setarch patch works, thanks!
Blaisorblade wrote:
> On Sunday 01 October 2006 01:57, Jeff Dike wrote:
>
>> On Sun, Oct 01, 2006 at 01:11:37AM +0300, Nikola Ciprich wrote:
>>
>>> You have an idea where
>>> could be problem with shutting down? (this Virtual timer expired
>>> cycling?)
>>>
>> Oops, missed that in your previous message.
>>
>> Where in the shutdown process is this? There have been some previous
>> reports of hangs during swapoff which I have been unable to reproduce.
>> I spent part of a day last week pushing UMLs deeply into swap and
>> shutting them down, always successfully.
>>
>> The SIGVTALRM is normal - that's just the timer. That strace you sent
>> looks like the idle loop, so as far as the kernel is concerned,
>> everything is fine.
>>
>>
>>> and regarding /proc/mm, shouldn't this mm64 file be used? or what's it
>>> used for?
>>>
>> /proc/mm64? What would it do that /proc/mm doesn't?
>>
>
> Well, I'll explain everything (even to Jeff, since I never documented anything
> of this).
>
> The SKAS patch V8 supports well i386 host and i386 guest. That's all.
> SKAS patch V9-preX tries to support x86_64 host, with both 32 and 64 bit
> guests:
>
> * 32 bit guests: a bug prevents using full SKAS3, you must pass noprocmm and
> you'll get most performance advantages (because faultinfo works). When I
> worked on the SKAS port to x86_64 I did not discover that something worked,
> and I never tested support for 64bit guests.
> I latter discovered the bug is in a different portion of code - Bodo Stroesser
> unveiled it, and I think this is the same bug that hit even Jeff's 1st
> attempt to write SKAS4 (all I know can be found in
> http://user-mode-linux.sourceforge.net/diary.html -> grep skas4 and you'll
> find what I'm talking about on 23 Sep 2004).
>
> * 64bit guests: they do not support SKAS3, but the host patch gives the needed
> support - to do that, the 1st thing to do would be to use /proc/mm64 as you
> point out (and it could even suffice, even if I doubt that), but guest
> kernels still try to use /proc/mm and it does not work. So you must pass
> skas0 on the cmdline (I do not remember whether noprocmm works for this
> case).
>
> -EINVAL is given on purpose: the request struct UML writes on /proc/mm has a
> different layout for 32 and 64bit requests, or better a different size since
> pointers are larger (and there's an explicit check for that - IIRC it has
> always been there). I chose to have a separate /proc/mm64, I did not think to
> try autodetection. And frankly my first impression is that I'd still do it
> this way.
>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2006-10-01 15:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-30 16:30 [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest, problems with noprocmm Nikola Ciprich
2006-09-30 21:49 ` Jeff Dike
2006-09-30 22:11 ` Nikola Ciprich
2006-09-30 23:57 ` Jeff Dike
2006-10-01 0:04 ` Nikola Ciprich
2006-10-01 0:08 ` Nikola Ciprich
2006-10-01 0:19 ` Nikola Ciprich
2006-10-01 0:45 ` Nikola Ciprich
2006-10-01 15:08 ` [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest , " Blaisorblade
2006-10-01 15:25 ` [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest, " Blaisorblade
2006-10-01 15:51 ` Nikola Ciprich [this message]
2006-10-01 21:00 ` Nikola Ciprich
2006-10-05 11:33 ` Blaisorblade
2006-10-08 11:04 ` Blaisorblade
2006-10-08 19:08 ` Nikola Ciprich
2006-10-08 19:30 ` Blaisorblade
2006-10-08 20:01 ` Nikola Ciprich
2006-10-14 0:23 ` Blaisorblade
2006-10-14 9:23 ` Nikola Ciprich
2006-10-15 17:35 ` [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest , " Blaisorblade
2006-10-16 15:02 ` [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest, " Jeff Dike
[not found] ` <1161116486.2709.15.camel@nik-nb>
2006-10-17 23:39 ` [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest , " Blaisorblade
2006-10-18 7:40 ` Nikola Ciprich
2006-10-18 18:56 ` Jeff Dike
2006-10-05 20:14 ` [uml-devel] SKAS mode not working, x86_64 SMP host, x86_64 guest, " Blaisorblade
2006-10-07 14:27 ` Nikola Ciprich
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=451FE3F0.1070304@linuxbox.cz \
--to=nikola.ciprich@linuxbox.cz \
--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.