9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Devon H. O'Dell" <devon.odell@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net>
Subject: [9fans] 9vx Patches
Date: Wed, 17 Dec 2008 19:10:57 -0500	[thread overview]
Message-ID: <9ab217670812171610k2dcc5650ve5f69da704afe55c@mail.gmail.com> (raw)

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



             reply	other threads:[~2008-12-18  0:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-18  0:10 Devon H. O'Dell [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9ab217670812171610k2dcc5650ve5f69da704afe55c@mail.gmail.com \
    --to=devon.odell@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).