lguest: turn Waker into a thread, not a process
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 29 Jul 2008 14:58:38 +0000 (09:58 -0500)
committerRusty Russell <rusty@rustcorp.com.au>
Mon, 28 Jul 2008 23:58:39 +0000 (09:58 +1000)
commit8c79873da0d2bedf4ad6b868c54e426bb0a2fe38
tree270efee346b70ae6615dd4796363479c94eca6d9
parent0f0c4fab8284f3b886b2e1e0e317e3bb8de176b3
lguest: turn Waker into a thread, not a process

lguest uses a Waker process to break it out of the kernel (ie.
actually running the guest) when file descriptor needs attention.

Changing this from a process to a thread somewhat simplifies things:
it can directly access the fd_set of things to watch.  More
importantly, it means that the Waker can see Guest memory correctly,
so /dev/vring file descriptors will work as anticipated (the
alternative is to actually mmap MAP_SHARED, but you can't do that with
/dev/zero).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Documentation/lguest/lguest.c