(..)
> > I can't speak to how stable it was. I'm pretty sure I wasn't using Skas,
> It isn't skas as the skas3 code hasn't been ported to x86_64 yet.
Or has it?
I've just removed mode=skas0 from the command line during testing and I
was surprised to see this:
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...missing
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking if syscall restart handling in host can be skipped...OK
Checking for the skas3 patch in the host:
  - /proc/mm...found
  - PTRACE_FAULTINFO...found
  - PTRACE_LDT...found
UML running in SKAS3 mode
??????
The host was patched with the skas patch (even though it is a 64bit
kernel) as the patch does not seem to interfere and it clearly provides
something useful!

Now it doesn't quite work for me, but it is close enough that I feel it
is well worth investigating (skas3 being much faster - even though skas0
is pretty good - skas3 stills has the advantage)

Here are some test results:
* with kernel32-2.6.15-rc5:
it gets stuck right after printing "SKAS3 mode", here is the full strace
(not big 16KB):
http://uml.nagafix.co.uk/logs/2.6.15-rc5-skas3.strace
the last few lines are:
sigaltstack({ss_sp=0xa0464000, ss_flags=0x3ffc,
ss_size=11548988665867022973}, NULL) = 0
rt_sigaction(SIGUSR1, {0x8000000a0023390, [], 0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1], NULL, 8) = 0
getpid()                                = 22917
kill(22917, SIGUSR1)                    = 0
--- SIGUSR1 (User defined signal 1) @ 0 (0) ---
rt_sigprocmask(SIG_UNBLOCK, [USR1], [USR1], 8) = 0
sigaltstack({ss_sp=0x200000000, ss_flags=0, ss_size=6979621237}, NULL) =
0
getpid()                                = 22917
pause(
--- It hangs there until I ^C it.

* with kernel32-2.6.14.4-bs3 and kernel32-2.6.13-bs3 (and others):
as above but the strace is different!?, here it is (76KB)
http://uml.nagafix.co.uk/logs/2.6.14.4-bs3.strace
difference is that this is similar to what was reported a while back:
lots of these:
rt_sigprocmask(SIG_BLOCK, [ALRM VTALRM IO], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [], [ALRM VTALRM IO], 8) = 0
rt_sigprocmask(SIG_BLOCK, [ALRM VTALRM IO], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [ALRM VTALRM IO], 8) = 0
And at the end:
kill(23087, SIGKILL)                    = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
ptrace(PTRACE_KILL, 23087, 0x8000, 0xa001ab33) = 0
Segmentation fault

* with 2.4.32-bs2:
Apart from this warning near the top:
Checking for /dev/anon on the host...Not available (open failed with
errno 2)
It spins (consuming CPU) after mounting root (or mounting devfs if
enabled) with:
rt_sigprocmask(SIG_BLOCK, [ALRM VTALRM IO], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ALRM VTALRM IO], [ALRM VTALRM IO], 8) = 0
Interestingly similar to 2.6.14/2.6.13 above, log here (a lot bigger:
260MB uncompressed / 220KB compressed):
http://uml.nagafix.co.uk/logs/2.4.32-bs2.strace.bz2

* with 2.6.15-rc1:
As with 2.4.32, it spins after mounting root, but seems to be on this:
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(23866, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSEGV}], WSTOPPED) =
23866
ptrace(PTRACE_GETREGS, 23866, 0, 0xa07af9d4) = 0
ptrace(PTRACE_GETFPXREGS, 23866, 0, 0xa07afbcc) = 0
ptrace(0x34 /* PTRACE_??? */, 23866, 0, 0xa07afdcc) = 0
gettimeofday({1021846869037274, 11531684934252935416}, NULL) = 0
write(4, "137333\t 1134874842.237917  Alloc"..., 49) = 49
ptrace(PTRACE_SETREGS, 23866, 0, 0xa07af9d4) = 0
ptrace(PTRACE_SETFPXREGS, 23866, 0, 0xa07afbcc) = 0
ptrace(PTRACE_SYSCALL, 23866, 0, SIG_0) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
full log here (700MB/840KB)


The kernels were built using vanilla gcc-3.4.4, and the tests were
repeated on 2 separate platforms (gentoo 2005.1 and FC4) - selinux was
disabled for the tests.

Antoine



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to