Commit Graph

14310 Commits

Author SHA1 Message Date
tnozaki
96bcb898d4 variable must to be nul terminated before "CODESET=foo".
ISO2022 module doesn't understand this and may fail setlocale(3).
2010-11-30 15:25:05 +00:00
pooka
fbdc3da9ae Change RUMP_SP_CLIENT to RUMP_SERVER. The former was, in addition
to being annoying to write, slightly misguiding, since it contains
the server url.
2010-11-30 14:24:40 +00:00
pooka
7332ad1515 Require server to be explicitly initialized with rump_init_server(url).
Also, add rump_daemonize_begin() / rump_daemonize_end() to help
with the "can't daemon() after pthread_create()" problem.  Applications
could accomplish the same, but since it's such a common operation,
provide a little help.
2010-11-30 14:23:24 +00:00
pooka
1e3b8bd985 add commented-out -D_DIAGNOSTIC 2010-11-30 14:08:39 +00:00
dholland
297e393f26 SAVENAME and HASBUF namei flags have been removed; update accordingly.
(pooka@ says not to worry about compat.)
2010-11-30 10:49:22 +00:00
pooka
d402686fe2 Remove remaining panic()s from server-side code. Also, allow to
send an out-of-band error.  Make the client retry syscall requests
if this error is EAGAIN, fail them otherwise.
2010-11-29 16:08:03 +00:00
drochner
240e9917d0 fix accuracy problems in argument ranges where j0(x) is small, closes
PR lib/44170 by Henning Petersen
(originally from Steven G. Kargl per FreeBSD PR bin/144306)
2010-11-29 15:10:06 +00:00
pooka
ea8aecd4f3 Cache syscall worker threads and include some stetson-harrison
limits.  This improves syscall throughput about 2x for non-userio
syscalls (no copyin/out, e.g. getpid()) and almost 1.5x even for
things like __sysctl().
(measured for cases where the remote process is on the local machine)

XXX: if the pthread deadqueue sucks for anything which cares about
performance, why does it exist?  Nuking it would make supporting
variable stack size easier.
2010-11-29 11:40:54 +00:00
skrll
15fa0783d7 Centralise USE_COMPILERCRTSTUFF.
PCC might need help.
2010-11-28 18:40:54 +00:00
wiz
80b39d395e Fix typo in comment. 2010-11-28 01:31:26 +00:00
wiz
cb676ec98b Remove superfluous comma. 2010-11-28 01:28:21 +00:00
christos
fabd9ea05b explain better what's going on here. 2010-11-28 00:50:16 +00:00
jnemeth
22405528a4 Rename the autoloaded property list from <module>.prop to <module>.plist
as discussed on tech-kern.
2010-11-28 00:26:38 +00:00
christos
5fe11453fa fix lint warning. 2010-11-27 21:22:11 +00:00
christos
d5ea004dc7 Implement VIS_NOESCAPE and VIS_HTTP1866. 2010-11-27 19:44:21 +00:00
christos
b77d89c7da ansify 2010-11-27 18:33:54 +00:00
pooka
bd26e667a8 Since we are going to handle syscalls in our threads, limit stacksize.
(unfortunately though, pthread_attr_setstacksize() has no effect on NetBSD)
2010-11-27 18:30:51 +00:00
dholland
01cef2d63e Return error on failure instead of hiding it and always returning zero.
From Henning Petersen in PR 44152.
2010-11-26 22:01:53 +00:00
pooka
f0d58f7830 Fix a few locking problems with multithreaded clients.
TODO: make server deal graciously with out-of-resources conditions
2010-11-26 18:51:03 +00:00
pooka
6e0e64ab1b Improve reliability in cases where client disconnects mid-operation. 2010-11-26 14:37:08 +00:00
pooka
404fa78c67 update comment 2010-11-26 11:12:06 +00:00
pooka
22b33166de rumpuser should not be included outside of the rump kernel (and
rumpuser itself)
2010-11-26 11:10:53 +00:00
pooka
7ca02bea53 Plug recently introduced memory leak: release lwp after use instead of
just switching away.

Also, make freeing syscall arguments a little more symmetric.
2010-11-26 10:59:14 +00:00
dholland
6e4e77d46e No file system I know of reports directory sizes that are multiples of
sizeof(struct dirent) except by accident. So, sync with reality. Brought
to my attention by Taylor R Campbell in chat.
2010-11-25 20:53:23 +00:00
pooka
6b71288c49 *facepalm*, adjust remote copyinstr to work in cases where the end
of the max copyin extends to an unmapped page.

Noticed, as usual, by tests.
2010-11-25 17:59:02 +00:00
pooka
6d4b60f246 create pthread attribute only once 2010-11-24 20:29:13 +00:00
pooka
d693e691bf unsnafu previous 2010-11-24 17:20:24 +00:00
pooka
5e5fac56c7 update locking proto, use unputwait 2010-11-24 17:03:39 +00:00
pooka
0f9bd961a2 Unschedule from CPU for out-of-kernel blocking ops. Otherwise we
might even deadlock if the thread that wakes us up wants a CPU.
2010-11-24 17:00:10 +00:00
pooka
b99a42f8f3 improve threadsafety 2010-11-24 15:17:46 +00:00
pooka
adabf68496 missed part of earlier commit 2010-11-24 14:32:42 +00:00
pooka
c21ac41b0b Sneeze some locking into connect/disconnect. 2010-11-24 11:40:24 +00:00
christos
05f534f3c7 PR/44132: Wolfgang Stukenbrock: libc/rpc may overwrite not-allocated memory
Return XPRT_DIED when realloc fails for lack of a better error.
2010-11-23 14:02:01 +00:00
pooka
85503d7b13 Install rumpclient to /lib to allow non-/usr users.
pointed out by tron (thanks!)
2010-11-23 12:41:47 +00:00
tnozaki
115137ad39 to initialize mbstate_t, use memset instead mbrtowc. 2010-11-23 05:38:35 +00:00
pooka
9be034428c Support physio for remote processes.
==> add support for remote vmspace vmapbuf/vunmapbuf
  ==> add proper support for copyin/out_vmspace
    ==> add support for remote vmspace uvm_io
      ==> add support for non-curproc rumpuser_sp_copyin/out
        ==> store remote context in vm_map->pmap instead of
            pthread_specificdata

In short, makes read/write of most (all?) block devices work from
a remote rump client via rump syscalls.
2010-11-22 20:42:19 +00:00
plunky
33166e16fa use cached values directly rather than querying device for
features and buffer_size
2010-11-22 19:59:04 +00:00
adam
d26d65ff82 Use ssh_add_identity_constrained() instead of ssh_add_identity() 2010-11-21 20:41:36 +00:00
christos
cd56d093b1 build the ldap libraries; am-utils needs them. 2010-11-21 03:43:39 +00:00
plunky
231f6b581d use atomic ops wisely 2010-11-20 12:12:21 +00:00
pooka
ad5cf5ab43 squelch the compiler whine 2010-11-19 17:47:44 +00:00
pooka
120195d187 document RUMP_NVNODES 2010-11-19 17:35:04 +00:00
pooka
a2b42bab81 Support multithreaded clients and fix a few bugs. 2010-11-19 17:09:44 +00:00
pooka
b82590c0a3 delint 2010-11-19 15:40:55 +00:00
pooka
52f22b2c6a Start working on making the syscall proxy code threadsafe. The
basics are there, but a few more tweaks are needed.  The reason
I'm committing it now is that the code was mindnumbingly boring to
write (no wonder it took me almost 3 years to get it done), and I
might burn it if it's not in a safe place.
2010-11-19 15:25:49 +00:00
christos
b0f3f04a67 PR/44113: Nicolas Joly: printf(3) should ignore zero padding for nan/inf 2010-11-19 00:44:18 +00:00
pooka
48257b3e61 free syscall data after use 2010-11-17 17:36:14 +00:00
tron
4a3a313897 Include "namespace.h" to get namespace protection. 2010-11-17 13:25:53 +00:00
tron
aacd5349be Provide proper namespace protection for rbtree(3) because it is now
used by "libc" internally.
2010-11-17 13:19:32 +00:00
tron
d0e6f50de3 Implement mark & sweep garbage collection as suggested by Enami Tsugutomo
on "current-users" mailing list. Garbage collection is performed if:
1.) We previously allocated memory for the environment array which
    is no longer used because the application overwrote "environ".
2.) We find a non-NULL pointer in the allocated environment array after
    the end of the environment. This happens if the applications attempts
    to clear the environment with something like "environ[0] = NULL;".
2010-11-16 17:23:10 +00:00