9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] 9vx Patches
@ 2008-12-18  0:10 Devon H. O'Dell
  2008-12-18  0:32 ` ron minnich
  2008-12-18  1:10 ` Roman Shaposhnik
  0 siblings, 2 replies; 8+ messages in thread
From: Devon H. O'Dell @ 2008-12-18  0:10 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Hey guys,

Back in my ``let's have fun with Plan 9'' yearly phase.

Here I come back and I see some really cool work. 9vx definitely is
the coolest thing I've seen so far, and devtrace looks pretty nifty
too. What's really cool to me about them is that they're available and
there is open work to be done with them. So I've started hacking away.

My 9vx has a couple changes that I found useful / thought would be fun
to implement / thought others might find useful. A brief synopsis:

* Memory bounds -- gives 9vx an upper bound on resident memory usage
as it limits the size of the pagefile. Set by running 9vx with -m [MB]

* CPU bounds -- only works on FreeBSD so far. I've got a Linux port of
that management code, but it doesn't seem to actually do the right
thing (and it hasn't been a priority to fix since I rarely run Linux).
I do plan on fixing it, but if someone else wants to fix it first,
that'd be fine by me, too. Darwin support looks unlikely because,
although the libkvm stuff is there and likely would work after just
changing some of the member names of where things look, it has neither
a clone(2) or rfork(2) implementation. If anybody has an idea about
how to spawn and disassociate a child process in Darwin so it doesn't
receive its parents' signals, let me know. Set by running 9vx with -l
[% CPU].

* Set window width/height on the console. Set with -w [width] and -h
[height], respectively.

* Lock tracing. I needed this when debugging some of the netstack
stuff because I screwed up a qunlock which deadlocked the system. Set
by toggling -L.

Things in the works:

* Native Plan 9 netstack. It's ported, it compiles, but my virtual
ethernet device doesn't seem to be transmitting anything (though I
haven't done any extensive tests). See also:
http://testbed.dh0.us/~dho/fuxyes.png

* Porting devtrace. Needs some changes to compile with gas; the
#pragmas are useless, but I think should work after a little more
tweaking.

* FreeBSD/amd64 support. I don't think it works yet, but it compiles.
I don't rightly understand what all the LDT modification does on Linux
x86_64 in relation to what I'm actually doing with %gs (hints from
people with knowledge welcome).

Other stuff

* Automatic provisioning via a web browser. Yeah, Plan 9 in the web
browser (if you have Java, I guess -- otherwise it's just VNC).
http://testbed.dh0.us/ -- this code isn't version controlled, but I
could probably put it in hg with little effort.

The code for the rest of the stuff is at http://testbed.dh0.us:8000/

--dho



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-12-18  1:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-18  0:10 [9fans] 9vx Patches Devon H. O'Dell
2008-12-18  0:32 ` ron minnich
2008-12-18  0:33   ` ron minnich
2008-12-18  0:43     ` Roman Shaposhnik
2008-12-18  0:51       ` ron minnich
2008-12-18  1:10 ` Roman Shaposhnik
2008-12-18  1:39   ` Devon H. O'Dell
2008-12-18  1:41     ` erik quanstrom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).