Re: [9fans] NIX 64-bit kernel is available
hee hee Brantley On Sep 14, 2011, at 6:10 PM, Dan Cross wrote: > On Wed, Sep 14, 2011 at 5:48 PM, John Floren wrote: >> I don't want to drag out the discussion, but: >> >> 1. Nixie is pretty much generic these days. Wikipedia even calls it a >> genericised trademark. >> 2. Nixies are also Germanic water spirits. >> >> I think we're good :) > > (I don't want to contribute to the noise, but "PIX" would be a pretty > cool name, all things considered.) > >- Dan C. >
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 12:42 PM, John Floren wrote: > We have discussed this. "Nixie" was a proposed new name, but for now > we'd rather get the actual code and distribution right than worry > about the name. If you need yet another proposal that would Google with minimal collisions, it's possible that the first rabbit in space was named Marnushka (and not Glenda). -Jack
Re: [9fans] NIX 64-bit kernel is available
In the experiments I made I was sending all results through shared memory (a pointer to the reply). But I don't think that code is in the main rep. On Thu, Sep 15, 2011 at 4:13 PM, erik quanstrom wrote: > On Thu Sep 15 10:04:54 EDT 2011, n...@lsub.org wrote: >> I could run old binaries. Perhaps profiling no longer works for them, >> didn't even try. >> Either way, we had no choice. We had to put some stuff in there. > > i wasn't complaining. i just wanted to make sure. also, for the > nixcalls, where does the error string memory go? > > - erik > >
Re: [9fans] NIX 64-bit kernel is available
On Thu Sep 15 10:04:54 EDT 2011, n...@lsub.org wrote: > I could run old binaries. Perhaps profiling no longer works for them, > didn't even try. > Either way, we had no choice. We had to put some stuff in there. i wasn't complaining. i just wanted to make sure. also, for the nixcalls, where does the error string memory go? - erik
Re: [9fans] NIX 64-bit kernel is available
I could run old binaries. Perhaps profiling no longer works for them, didn't even try. Either way, we had no choice. We had to put some stuff in there.
Re: [9fans] NIX 64-bit kernel is available
On Thu Sep 15 03:30:29 EDT 2011, nemo.m...@gmail.com wrote: > i was in the middle of a commit > try the release tag or give me one more hour. > > On Sep 15, 2011, at 6:39 AM, erik quanstrom wrote: > > > i'm having a bit of trouble compiling everything. > > > > chula; mk trap.6 > > 6c -FTVw trap.c > > trap.c:280 not a member of struct/union: core > > trap.c:281 not a member of struct/union: nixtype > > mk: 6c -FTVw trap.c : exit status=rc 25899: 6c 25901: error > > > > /sys/include/tos.h doesn't appear to match. isn't changing the size of tos going to break old executables? - erik
Re: [9fans] NIX 64-bit kernel is available
noah.ev...@gmail.com (Noah Evans) writes: > don't forget to hg add amd64/bin/auth/.shutuphg > > Noah Works, and submitted. (After I "fixed" codereview for mercurial 1.9 :P) -- Christian Neukirchenhttp://chneukirchen.org
Re: [9fans] NIX 64-bit kernel is available
don't forget to hg add amd64/bin/auth/.shutuphg Noah On Thu, Sep 15, 2011 at 1:07 PM, Noah Evans wrote: > mkdir /amd64/bin/auth > touch /amd64/bin/auth/.shutuphg > > will let you build factotum and friends. > > Then from your normal shell and your nix directory(I assume you have > your .hg/hgrc ready for codereview, if not look at /PROCESS): > > hg change > > hg mail > > I'd do it myself, but I have some speculative changes I don't want to > introduce to the main tree yet. > > Noah > > > > On Thu, Sep 15, 2011 at 12:50 PM, Christian Neukirchen > wrote: >> n...@lsub.org (Francisco J Ballesteros) writes: >> >>> cd /sys/src >>> objtype=amd64 >>> mk install >> >> ... >> mk factotum >> for (i in factotum fgui) >> mk $MKFLAGS $i.install >> cp 6.factotum /amd64/bin/auth/factotum >> cp: can't create /amd64/bin/auth/factotum: '/amd64/bin/auth' does not exist >> mk: cp 6.factotum /amd64/bin/auth/factotum : exit status=rc 2064: cp 2066: >> errors >> mk: for (i in ... : exit status=rc 2061: mk 2063: error >> mk: for (i in ... : exit status=rc 2048: rc 2057: mk 2060: error >> mk: for(i in 1a ... : exit status=rc 1815: rc 2041: mk 2044: error >> mk: test -e 8._cp ... : exit status=rc 1782: mk 1803: error >> mk: date for (i ... : exit status=rc 178: rc 1767: mk 1770: error >> >> Ideas? >> >> >> PS: whoa nice, 9vx shares the snarf buffer. >> -- >> Christian Neukirchen http://chneukirchen.org >> >> >
Re: [9fans] NIX 64-bit kernel is available
mkdir /amd64/bin/auth touch /amd64/bin/auth/.shutuphg will let you build factotum and friends. Then from your normal shell and your nix directory(I assume you have your .hg/hgrc ready for codereview, if not look at /PROCESS): hg change hg mail I'd do it myself, but I have some speculative changes I don't want to introduce to the main tree yet. Noah On Thu, Sep 15, 2011 at 12:50 PM, Christian Neukirchen wrote: > n...@lsub.org (Francisco J Ballesteros) writes: > >> cd /sys/src >> objtype=amd64 >> mk install > > ... > mk factotum > for (i in factotum fgui) > mk $MKFLAGS $i.install > cp 6.factotum /amd64/bin/auth/factotum > cp: can't create /amd64/bin/auth/factotum: '/amd64/bin/auth' does not exist > mk: cp 6.factotum /amd64/bin/auth/factotum : exit status=rc 2064: cp 2066: > errors > mk: for (i in ... : exit status=rc 2061: mk 2063: error > mk: for (i in ... : exit status=rc 2048: rc 2057: mk 2060: error > mk: for(i in 1a ... : exit status=rc 1815: rc 2041: mk 2044: error > mk: test -e 8._cp ... : exit status=rc 1782: mk 1803: error > mk: date for (i ... : exit status=rc 178: rc 1767: mk 1770: error > > Ideas? > > > PS: whoa nice, 9vx shares the snarf buffer. > -- > Christian Neukirchen http://chneukirchen.org > >
Re: [9fans] NIX 64-bit kernel is available
n...@lsub.org (Francisco J Ballesteros) writes: > cd /sys/src > objtype=amd64 > mk install ... mk factotum for (i in factotum fgui) mk $MKFLAGS $i.install cp 6.factotum /amd64/bin/auth/factotum cp: can't create /amd64/bin/auth/factotum: '/amd64/bin/auth' does not exist mk: cp 6.factotum /amd64/bin/auth/factotum : exit status=rc 2064: cp 2066: errors mk: for (i in ... : exit status=rc 2061: mk 2063: error mk: for (i in ... : exit status=rc 2048: rc 2057: mk 2060: error mk: for(i in 1a ... : exit status=rc 1815: rc 2041: mk 2044: error mk: test -e 8._cp ... : exit status=rc 1782: mk 1803: error mk: date for (i ... : exit status=rc 178: rc 1767: mk 1770: error Ideas? PS: whoa nice, 9vx shares the snarf buffer. -- Christian Neukirchenhttp://chneukirchen.org
Re: [9fans] NIX 64-bit kernel is available
Let's make a deal. Anyone who writes something can give it a name. :)
Re: [9fans] NIX 64-bit kernel is available
Just one thought: call it "Nicht OS".
Re: [9fans] NIX 64-bit kernel is available
Perhaps you checked out an old version? I just checked and there's a $nixroot/BUILDING_AMD64 file, provided you did the check out at $nixroot. This is what the file has: cd /sys/src objtype=386 mk libs cd ape/lib mk install cd /sys/src objtype=amd64 mk install BTW, for building the nix kernel just go to /sys/src/nix and mk. It will require amd64 binaries and libraries at /amd64. hth
Re: [9fans] NIX 64-bit kernel is available
rminn...@gmail.com (ron minnich) writes: > You'll need a 9vx setup to start. > Checkout the tree, and run 9vx with the tree as your root. You'll find a file > called BUILDING_AMD64 with further instructions in the root. Just for the record, one needs the 9vx from https://bitbucket.org/rminnich/vx32 The binaries from http://swtch.com/9vx/ don't work. And that file BUILDING_AMD64 I couldn't find anywhere. -- Christian Neukirchenhttp://chneukirchen.org
Re: [9fans] NIX 64-bit kernel is available
Ok. If you check out the release tag from nix-os.googlecode.com it should be ok and compile and work fine. I just checked. We are sorry we didn't tell before. >From now on we'll tag as "release" the last release we are happy with. hth
Re: [9fans] NIX 64-bit kernel is available
i was in the middle of a commit try the release tag or give me one more hour. On Sep 15, 2011, at 6:39 AM, erik quanstrom wrote: > i'm having a bit of trouble compiling everything. > > chula; mk trap.6 > 6c -FTVw trap.c > trap.c:280 not a member of struct/union: core > trap.c:281 not a member of struct/union: nixtype > mk: 6c -FTVw trap.c : exit status=rc 25899: 6c 25901: error > > /sys/include/tos.h doesn't appear to match. > > - erik >
Re: [9fans] NIX 64-bit kernel is available
i'm having a bit of trouble compiling everything. chula; mk trap.6 6c -FTVw trap.c trap.c:280 not a member of struct/union: core trap.c:281 not a member of struct/union: nixtype mk: 6c -FTVw trap.c : exit status=rc 25899: 6c 25901: error /sys/include/tos.h doesn't appear to match. - erik
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 2:10 PM, ron minnich wrote: > On Wed, Sep 14, 2011 at 12:22 PM, Bakul Shah wrote: > > > So you use both 2MB and 1GB PTEs? > > Yes. nemo had some extremely clever ideas and hence we can use them > (but not in the same segment). > > > > "Tubes" in memory of Sen Ted Stevens? > > The name came first, but once I found the quote, well, the name had to be > used. > > You could have called it "big truck" > > > > No such file. > > Sorry. hg is having some issues with that. Here it is. You need the > 386 libraries there for jpeg to build. Or something like that. > > cd /sys/src > objtype=386 > mk libs > cd ape/lib > mk install > cd /sys/src > objtype=amd64 > mk install > > btw, note a secondary effect of this repo is that it can replace > sysfromiso. > > ron > >
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 3:36 PM, Nick LaForge wrote: > Surely though I'm jumping the gun and need to wait for Ron's talk to tell all. well, most of the work having been done by others, I doubt you need my talk :-) For those of you going to IWP9, you can push on Nemo and Gorka and Enrique for info, hopefully Charles will be there too. However, certain things do work very very well when one has lots of memory, and even better with 2 MB and 1 GiB PTEs, and when one owns a core and is not even pre-empted by APIC interrupts, well ... things can be even better. The performance on FTQ is as good as it can get, and good performance on FTQ has shown to be a good thing to have in my world. And we're not even into the zero copy system calls yet! ron
Re: [9fans] NIX 64-bit kernel is available
Kudos to the involved researchers for valuing such public involvement. :-) Performance numbers immediately come to mind considering the nature of the work. I know Ron's past talks considered bottleneck analysis, but for those of us not running such large machines it is probably necessary to read the numerical results that indicate what code is/isn't ill-adapted to performance computing. Surely though I'm jumping the gun and need to wait for Ron's talk to tell all. Nick On 9/14/11, John Floren wrote: > On Wed, Sep 14, 2011 at 2:32 PM, Bakul Shah wrote: >> On Wed, 14 Sep 2011 13:42:53 PDT John Floren wrote: >>> >>> We have discussed this. "Nixie" was a proposed new name, but for now >>> we'd rather get the actual code and distribution right than worry >>> about the name. >> >> I like the name Nixie (& Nixie tubes (& Nixie tube watches!)) >> but isn't Nixie a trademark? >> >> Make it really small and it can be Pixie. With readymade mascots. >> >> A memorable name is a requirement these days -- you don't want >> first 10^6 google hits for something else. >> >> > > I don't want to drag out the discussion, but: > > 1. Nixie is pretty much generic these days. Wikipedia even calls it a > genericised trademark. > 2. Nixies are also Germanic water spirits. > > I think we're good :) > > > John > >
Re: [9fans] NIX 64-bit kernel is available
I heard German, so I say: Schall und Rauch I think bad names can help quality of information (because without being able to use google people can only use the official site as a starting point).
Re: [9fans] NIX 64-bit kernel is available
On Wed Sep 14 18:09:19 EDT 2011, yiyu@gmail.com wrote: > > BTW, can 9vx access fossil or kenfs from a separate partition? > > > > It should work with fossil or kfs setting nobootprompt. Adding cwfs > would be trivial, but I don't know if anybody has tried with a proper > kenfs kernel. You could also use rcvx and mount whatever you want from > there. i have. it works fine. you'll need il built into your 9vx. - erik
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 5:48 PM, John Floren wrote: > I don't want to drag out the discussion, but: > > 1. Nixie is pretty much generic these days. Wikipedia even calls it a > genericised trademark. > 2. Nixies are also Germanic water spirits. > > I think we're good :) (I don't want to contribute to the noise, but "PIX" would be a pretty cool name, all things considered.) - Dan C.
Re: [9fans] NIX 64-bit kernel is available
> BTW, can 9vx access fossil or kenfs from a separate partition? > It should work with fossil or kfs setting nobootprompt. Adding cwfs would be trivial, but I don't know if anybody has tried with a proper kenfs kernel. You could also use rcvx and mount whatever you want from there. -- - yiyus || JGL .
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 2:32 PM, Bakul Shah wrote: > On Wed, 14 Sep 2011 13:42:53 PDT John Floren wrote: >> >> We have discussed this. "Nixie" was a proposed new name, but for now >> we'd rather get the actual code and distribution right than worry >> about the name. > > I like the name Nixie (& Nixie tubes (& Nixie tube watches!)) > but isn't Nixie a trademark? > > Make it really small and it can be Pixie. With readymade mascots. > > A memorable name is a requirement these days -- you don't want > first 10^6 google hits for something else. > > I don't want to drag out the discussion, but: 1. Nixie is pretty much generic these days. Wikipedia even calls it a genericised trademark. 2. Nixies are also Germanic water spirits. I think we're good :) John
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 2:38 PM, Bakul Shah wrote: > BTW, can 9vx access fossil or kenfs from a separate partition? I've done it but it was long ago. BTW, I also forget to mention (there's lots of new stuff) that there is a nice performance counter implementation in there too. ron
Re: [9fans] NIX 64-bit kernel is available
On Wed, 14 Sep 2011 14:10:42 PDT ron minnich wrote: > > > "Tubes" in memory of Sen Ted Stevens? > > The name came first, but once I found the quote, well, the name had to be > used. You betcha. > Sorry. hg is having some issues with that. Here it is. You need the > 386 libraries there for jpeg to build. Or something like that. > > cd /sys/src > objtype=386 > mk libs > cd ape/lib > mk install > cd /sys/src > objtype=amd64 > mk install Thanks. BTW, can 9vx access fossil or kenfs from a separate partition?
Re: [9fans] NIX 64-bit kernel is available
On Wed, 14 Sep 2011 13:42:53 PDT John Floren wrote: > > We have discussed this. "Nixie" was a proposed new name, but for now > we'd rather get the actual code and distribution right than worry > about the name. I like the name Nixie (& Nixie tubes (& Nixie tube watches!)) but isn't Nixie a trademark? Make it really small and it can be Pixie. With readymade mascots. A memorable name is a requirement these days -- you don't want first 10^6 google hits for something else.
Re: [9fans] NIX 64-bit kernel is available
possibly there could be fewer new names for things.--- Begin Message --- > > "Tubes" in memory of Sen Ted Stevens? > > The name came first, but once I found the quote, well, the name had to be > used. should we just call them "stubes"? - erik--- End Message ---
Re: [9fans] NIX 64-bit kernel is available
Awesome! Congrats to all involved! D On Sep 14, 2011, at 8:41 AM, ron minnich wrote: > We'd like to announce the availability of NIX, a 64-bit Plan 9 kernel > with some new ideas. The full set of changes will be covered at IWP9. > For now, here are some highlights. > > - 2 MB PTEs. 4096 byte PTEs are not used in user programs at all. > > - 64 bit address space for processes, backed by 1 Gbyte PTEs for BSS > with addresses > 1 Gbyte. Use of Gbyte PTEs does not require anything > special; it just works. It's possible to have a process with (e.g.) 64 > Gib of memory in use which only needs 66 active PTEs (1 for code, 1 > for date, and 64 for BSS). > > - Core roles. A process can designate that it wishes to run on an > application core (AC). ACs do not run kernel code, and take no > interrupts, not even the APIC timer interrupt. They own the core and > are never pre-empted. They can run all standard system calls however. > > - kernel-based Linux system call interface (work in progress) > > - Optimistic semaphores, a new type of semaphore which lives half in > and half out of the kernel, and which in many cases will never run in > kernel > > - Tubes, a new IPC mechanism like pipes that uses the optimistic semaphores > > - A new memory management design which eliminates the huge static > array of page structs > > - NUMA-aware allocation, such that a process can be co-located with > its memory. This support is transparent. > > - Kernel can address all of physical memory. No more bounce buffers. > The kernel maps memory with GiB PTEs. > > - And, finally, standard Plan 9 binaries run unmodified on NIX. > > For now, NIX will only run on 64-bit x86 CPUs which support Gbyte > PTEs, e.g. K10. > > The tree is set up to run under 9vx or on a standard Plan 9 system. We > have tested and it is possible to do a full build of amd64 binaries > and then a build in /sys/src/nix/k10 and boot the kernel. You'll be prompted > during the build for information to create an nvram file. > > A new package manager is included in the tree, written by John Floren > and Nemo. It aims to be fast (downloading packages over HTTP) and > maintainable; development is ongoing, but for now pm(1) gives some > essential information. > > As for the name: we were trying to express the fact that ACs do not > have a kernel, > and after much time spent with the dictionary, came up with nix. > > The code is at http://code.google.com/p/nix-os/. Management > of the code base will be via the standard code review mechanisms > supported by google code; you're going to need mercurial and > the extensions. We welcome contributors. For guidelines on how to > contribute see > http://golang.org/doc/contribute.html. > > You'll need a 9vx setup to start. > Checkout the tree, and run 9vx with the tree as your root. You'll find a file > called BUILDING_AMD64 with further instructions in the root. > > Thanks to Bell Labs, University Rey Juan Carlos, Vita Nuova, the > US Dept. of Energy and Comunidad de Madrid for their support > and efforts in getting this working. > > Ron >
Re: [9fans] NIX 64-bit kernel is available
On Wed Sep 14 16:56:53 EDT 2011, rminn...@gmail.com wrote: > The tree is set up to run under 9vx or on a standard Plan 9 system. We > have tested and it is possible to do a full build of amd64 binaries > and then a build in /sys/src/nix/k10 and boot the kernel. You'll be prompted > during the build for information to create an nvram file. i must have missed something about vx32. i thought it didn't support 64-bit clients. - erik
Re: [9fans] NIX 64-bit kernel is available
> > "Tubes" in memory of Sen Ted Stevens? > > The name came first, but once I found the quote, well, the name had to be > used. should we just call them "stubes"? - erik
Re: [9fans] NIX 64-bit kernel is available
2011/9/14 Lluís Batlle i Rossell : > As google results depend on who searches... I "work" for a > project under the name of nix for some years: > http://nixos.org/nix/ yep, name clashes are regrettable but they happen. Anyway, I like your project too so at least we are in good company! ron
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 1:56 PM, Francisco J Ballesteros wrote: > Yes, IX was already taken for a file system protocol. > > On Wed, Sep 14, 2011 at 10:38 PM, s s wrote: >> Are you sure you want to call it NIX, though? >> > > And X was used to. Ah well. ron
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 12:22 PM, Bakul Shah wrote: > So you use both 2MB and 1GB PTEs? Yes. nemo had some extremely clever ideas and hence we can use them (but not in the same segment). > "Tubes" in memory of Sen Ted Stevens? The name came first, but once I found the quote, well, the name had to be used. > No such file. Sorry. hg is having some issues with that. Here it is. You need the 386 libraries there for jpeg to build. Or something like that. cd /sys/src objtype=386 mk libs cd ape/lib mk install cd /sys/src objtype=amd64 mk install btw, note a secondary effect of this repo is that it can replace sysfromiso. ron
Re: [9fans] NIX 64-bit kernel is available
Yes, IX was already taken for a file system protocol. On Wed, Sep 14, 2011 at 10:38 PM, s s wrote: > Are you sure you want to call it NIX, though? >
Re: [9fans] NIX 64-bit kernel is available
> > We have discussed this. "Nixie" was a proposed new name, but for now > we'd rather get the actual code and distribution right than worry > about the name. > > John > http://doc.cat-v.org/bell_labs/the_hideous_name/ - Leonard
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 04:38:42PM -0400, s s wrote: > Very nice. > > Are you sure you want to call it NIX, though? > > A google search for "nix kernel" returns a lot of unrelated results. > > http://www.google.com/#hl=en&q=nix+kernel As google results depend on who searches... I "work" for a project under the name of nix for some years: http://nixos.org/nix/ As for one example. Bye, Lluis.
Re: [9fans] NIX 64-bit kernel is available
hello do you have a virtual machine image? 9vx crash here. Also i can´t find the BUILDING_AMD64 thanks, gabi El 14/09/2011, a las 22:42, John Floren escribió: > On Wed, Sep 14, 2011 at 1:38 PM, s s wrote: >> Very nice. >> >> Are you sure you want to call it NIX, though? >> >> A google search for "nix kernel" returns a lot of unrelated results. >> >> http://www.google.com/#hl=en&q=nix+kernel >> >> How about, "Plan-64"? >> >> - Leonard >> > > We have discussed this. "Nixie" was a proposed new name, but for now > we'd rather get the actual code and distribution right than worry > about the name. > > John >
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 1:38 PM, s s wrote: > Very nice. > > Are you sure you want to call it NIX, though? > > A google search for "nix kernel" returns a lot of unrelated results. > > http://www.google.com/#hl=en&q=nix+kernel > > How about, "Plan-64"? > > - Leonard > We have discussed this. "Nixie" was a proposed new name, but for now we'd rather get the actual code and distribution right than worry about the name. John
Re: [9fans] NIX 64-bit kernel is available
Very nice. Are you sure you want to call it NIX, though? A google search for "nix kernel" returns a lot of unrelated results. http://www.google.com/#hl=en&q=nix+kernel How about, "Plan-64"? - Leonard
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 9:22 PM, Bakul Shah wrote: > So you use both 2MB and 1GB PTEs? Yes. >> - Tubes, a new IPC mechanism like pipes that uses the optimistic semaphores > > "Tubes" in memory of Sen Ted Stevens? No. In the memory of regular standard tubes. But yes, there's a comment about that in the source. >> You'll need a 9vx setup to start. >> Checkout the tree, and run 9vx with the tree as your root. You'll find a file >> called BUILDING_AMD64 with further instructions in the root. > > No such file. I'll leave that to ron :)
Re: [9fans] NIX 64-bit kernel is available
Excellent news! On Wed, 14 Sep 2011 08:41:48 PDT ron minnich wrote: > - 2 MB PTEs. 4096 byte PTEs are not used in user programs at all. > - 64 bit address space for processes, backed by 1 Gbyte PTEs for BSS > with addresses > 1 Gbyte. Use of Gbyte PTEs does not require anything > special; it just works. It's possible to have a process with (e.g.) 64 So you use both 2MB and 1GB PTEs? > - Tubes, a new IPC mechanism like pipes that uses the optimistic semaphores "Tubes" in memory of Sen Ted Stevens? > You'll need a 9vx setup to start. > Checkout the tree, and run 9vx with the tree as your root. You'll find a file > called BUILDING_AMD64 with further instructions in the root. No such file.
Re: [9fans] NIX 64-bit kernel is available
futexes do not promise to behave like actual semaphores the last time I checked them out. These ones do. But the main difference is not that. They come with a semalt() op that tries to do a down at the same time on a set of semaphores. So, if you model tubes (nix channels) as a regular producer-consumer with two semaphores (one for holes one for messages), you can alt them by relying on semalt. If you are lucky, you don´t enter the kernel. If you are not, you do, but at least you get the semantics you´d expect for a semaphore. On Wed, Sep 14, 2011 at 7:32 PM, David Leimbach wrote: > >> >> - Optimistic semaphores, a new type of semaphore which lives half in >> and half out of the kernel, and which in many cases will never run in >> kernel > > How is this both like and not like a futex? >
Re: [9fans] NIX 64-bit kernel is available
On Wed, Sep 14, 2011 at 10:32 AM, David Leimbach wrote: > PTE = Page Table Entry? Sorry, been working in Java too long I guess :-(. yes. pages are 2 MB. Most programs need only 3 PTEs: code, data+bss, and stack. > Can I run Mozilla Firefox? :-) no. Cinap's linux emulation is far more capable at this point ... I need kernel support for other reasons. > [re the optimistic semaphores] How is this both like and not like a futex? Futex is very confusing, and nemo's semaphores are not, so that's one difference. Nemo can explain. But the alt thing he did for them is very elegant. > >> >> - Tubes, a new IPC mechanism like pipes that uses the optimistic >> semaphores > > I love the name... you'll love the comment in the code. ron
Re: [9fans] NIX 64-bit kernel is available
Great set of ideas here! On Wed, Sep 14, 2011 at 8:41 AM, ron minnich wrote: > We'd like to announce the availability of NIX, a 64-bit Plan 9 kernel > with some new ideas. The full set of changes will be covered at IWP9. > For now, here are some highlights. > > - 2 MB PTEs. 4096 byte PTEs are not used in user programs at all. > PTE = Page Table Entry? Sorry, been working in Java too long I guess :-(. > > - 64 bit address space for processes, backed by 1 Gbyte PTEs for BSS > with addresses > 1 Gbyte. Use of Gbyte PTEs does not require anything > special; it just works. It's possible to have a process with (e.g.) 64 > Gib of memory in use which only needs 66 active PTEs (1 for code, 1 > for date, and 64 for BSS). > > - Core roles. A process can designate that it wishes to run on an > application core (AC). ACs do not run kernel code, and take no > interrupts, not even the APIC timer interrupt. They own the core and > are never pre-empted. They can run all standard system calls however. > That sounds amazingly great for certain servers. > > - kernel-based Linux system call interface (work in progress) > Can I run Mozilla Firefox? :-) > > - Optimistic semaphores, a new type of semaphore which lives half in > and half out of the kernel, and which in many cases will never run in > kernel > How is this both like and not like a futex? > > - Tubes, a new IPC mechanism like pipes that uses the optimistic semaphores > I love the name... > > - A new memory management design which eliminates the huge static > array of page structs > > - NUMA-aware allocation, such that a process can be co-located with > its memory. This support is transparent. > > - Kernel can address all of physical memory. No more bounce buffers. > The kernel maps memory with GiB PTEs. > > - And, finally, standard Plan 9 binaries run unmodified on NIX. > > For now, NIX will only run on 64-bit x86 CPUs which support Gbyte > PTEs, e.g. K10. > > The tree is set up to run under 9vx or on a standard Plan 9 system. We > have tested and it is possible to do a full build of amd64 binaries > and then a build in /sys/src/nix/k10 and boot the kernel. You'll be > prompted > during the build for information to create an nvram file. > > A new package manager is included in the tree, written by John Floren > and Nemo. It aims to be fast (downloading packages over HTTP) and > maintainable; development is ongoing, but for now pm(1) gives some > essential information. > > As for the name: we were trying to express the fact that ACs do not > have a kernel, > and after much time spent with the dictionary, came up with nix. > > The code is at http://code.google.com/p/nix-os/. Management > of the code base will be via the standard code review mechanisms > supported by google code; you're going to need mercurial and > the extensions. We welcome contributors. For guidelines on how to > contribute see > http://golang.org/doc/contribute.html. > > You'll need a 9vx setup to start. > Checkout the tree, and run 9vx with the tree as your root. You'll find a > file > called BUILDING_AMD64 with further instructions in the root. > > Thanks to Bell Labs, University Rey Juan Carlos, Vita Nuova, the > US Dept. of Energy and Comunidad de Madrid for their support > and efforts in getting this working. > > Ron > Thanks again Ron and everyone involved!
Re: [9fans] NIX 64-bit kernel is available
mind the gap On Sep 14, 2011, at 10:58 AM, andrey mirtchovski wrote: > sounds great. now, explain the tubes in more detail, please :) > >
Re: [9fans] NIX 64-bit kernel is available
sounds great. now, explain the tubes in more detail, please :)