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