(..) > > 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