Module Name:    src
Committed By:   pooka
Date:           Wed Apr 29 18:00:50 UTC 2009

Modified Files:
        src/sys/rump/include/rump: rump.h

Log Message:
Add proof-of-concept code for enabling system calls to rump virtual
kernels running in other processes on the same machine or on an
entirely different host.  I wrote this a while ago and am now
committing it mainly to avoid losing it.  It works, but could do
with a little tuning here and there.

What this will hopefully eventually buy us is the ability to use
standard userland tools to configure rump kernels, e.g. ifconfig(8)
and route(8) could be used to configure the networking stack provided
by a rump kernel.  Also some distributed OS implications may apply.

fun fact: a system call which just does copyin/copyout takes >1000x
longer when made over the LAN as compared to when made on the same
machine.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/rump/include/rump/rump.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/rump/include/rump/rump.h
diff -u src/sys/rump/include/rump/rump.h:1.12 src/sys/rump/include/rump/rump.h:1.13
--- src/sys/rump/include/rump/rump.h:1.12	Fri Mar 27 13:47:53 2009
+++ src/sys/rump/include/rump/rump.h	Wed Apr 29 18:00:49 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.h,v 1.12 2009/03/27 13:47:53 pooka Exp $	*/
+/*	$NetBSD: rump.h,v 1.13 2009/04/29 18:00:49 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007 Antti Kantee.  All Rights Reserved.
@@ -127,6 +127,7 @@
 int	rump_vfs_vptofh(struct vnode *, struct fid *, size_t *);
 void	rump_vfs_syncwait(struct mount *);
 
+struct lwp	*rump_newproc_switch(void);
 struct lwp	*rump_setup_curlwp(pid_t, lwpid_t, int);
 struct lwp	*rump_get_curlwp(void);
 void		rump_clear_curlwp(void);
@@ -141,6 +142,8 @@
 
 typedef int (*rump_sysproxy_t)(int, void *, uint8_t *, size_t, register_t *);
 int		rump_sysproxy_set(rump_sysproxy_t, void *);
+int		rump_sysproxy_socket_setup_client(int);
+int		rump_sysproxy_socket_setup_server(int);
 
 /*
  * Begin rump syscall conditionals.  Yes, something a little better

Reply via email to