From: Jeff Dike <jdike@addtoit.com>
To: Rob Landley <rob@landley.net>
Cc: user-mode-linux-devel@lists.sourceforge.net,
Jan Engelhardt <jengelh@linux01.gwdg.de>,
akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [uml-devel] Re: [PATCH 4/9] UML - Better diagnostics for broken configs
Date: Fri, 6 Jan 2006 21:37:13 -0500 [thread overview]
Message-ID: <20060107023713.GA13285@ccure.user-mode-linux.org> (raw)
In-Reply-To: <200601061801.17497.rob@landley.net>
On Fri, Jan 06, 2006 at 06:01:13PM -0600, Rob Landley wrote:
> Unfortunately, stock kernels don't let you just discard a system call, so you
> have to pass _something_ on to the underlying OS before you can resume from
> the ptrace. But you can change all the information both on the way in and on
> the way out, so what UML did was it turned all system calls into "getpid",
> which it then ignored the return value of in favor of doing its own system
> call handling. Stock kernels also don't allow one process to remap another
> process's memory, which is kind of important in context switching and meant
> that each process being traced had to be a separate PID on the host, because
> the UML kernel couldn't remap that process's page tables.
>
> Doing both of these things (a seperate host process for each UML process, and
> calling getpid() for all system calls), is what "Tracing Thread" mode did.
> The UML kernel was one thread among several, and it was kinda slow.
The skas vs tt distinction is the address space part of this. How we nullify
system calls is separate. That's the PTRACE_SYSCALL vs PTRACE_SYSEMU (which
is now in mainline) thing.
> Then somebody got drunk and came up with something extremely clever that I'm
> _still_ trying to get a clear explanation of, but they found out a way to run
> SKAS mode on an unmodified kernel by sacrificing a chicken or something, and
> this became known as "SKAS0" mode.
Hehe, that would be Blaisorblade - I've refrained from asking what he had
to sacrifice.
> It's not as fast as SKAS3 mode
> (sacrificing chickens takes time), but it's faster than TT mode and a lot
> less cluttered because you don't need a separate process on the host for each
> process running under User Mode Linux kernel.
skas0 still requires one host process per UML process. That's how it gets
host address spaces, which skas3 does using /proc/mm. In this sense, skas0
is sort of a cross between tt and skas3 modes.
Jeff
next prev parent reply other threads:[~2006-01-07 1:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-04 21:51 [PATCH 4/9] UML - Better diagnostics for broken configs Jeff Dike
2006-01-04 23:24 ` Andrew Morton
2006-01-05 2:21 ` Jeff Dike
2006-01-06 12:44 ` [2.6 patch] UML - Prevent MODE_SKAS=n and MODE_TT=n Adrian Bunk
2006-01-06 16:39 ` Jeff Dike
2006-01-06 16:18 ` Adrian Bunk
2006-01-07 5:22 ` Jeff Dike
2006-01-07 5:23 ` Jeff Dike
2006-01-05 7:45 ` [PATCH 4/9] UML - Better diagnostics for broken configs Jan Engelhardt
2006-01-05 16:14 ` Jeff Dike
2006-01-05 21:59 ` Jan Engelhardt
2006-01-06 0:53 ` Jeff Dike
2006-01-07 0:01 ` [uml-devel] " Rob Landley
2006-01-07 2:37 ` Jeff Dike [this message]
2006-01-07 15:12 ` Jan Engelhardt
2006-01-07 23:17 ` Jeff Dike
2006-01-08 3:50 ` Rob Landley
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=20060107023713.GA13285@ccure.user-mode-linux.org \
--to=jdike@addtoit.com \
--cc=akpm@osdl.org \
--cc=jengelh@linux01.gwdg.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rob@landley.net \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox