Re: [9fans] Maximal number of processes

2014-01-10 Thread Charles Forsyth
On 9 January 2014 08:08, Pavel Klinkovský pavel.klinkov...@gmail.comwrote:

 By the hard limit I consider something like maximal capacity of GDT, LDT
 or something similar, if exists.


GDT and even Tss are per-processor; ldt isn't used.

As to soft limits, apart from the few linear searches mentioned, which
could be eliminated if necessary,
for instance by tracking process groups, the main constraint is the kernel
virtual address space and physical memory consumed by
the KSTACK for each process. It's only 4k (in 32 bit mode) but it might be
difficult to handle hundreds of thousands of the things
comfortably.

I tried 3000, on a lowly Atom with 2 Gb RAM:

nova% ps|wc -l
   2992

and it seemed fine. Do I hear more!?

nova% ps|wc -l
   3991

nova% cat /dev/swap
2135371776 memory
4096 pagesize
48986 kernel
28594/472345 user
0/32 swap
35004768/142308320 kernel malloc
0/16777216 kernel draw

At that point I decided to quite while I was still ahead. I'd probably need
a bit more DRAM to do anything much with all of them
(they were only running sleep 60), but that's easy to find. Except that
they'll have changed DRAM types again no doubt.


Re: [9fans] Maximal number of processes

2014-01-10 Thread Charles Forsyth
On 10 January 2014 09:11, Charles Forsyth charles.fors...@gmail.com wrote:

 At that point I decided to quite while I was still ahead.


20,000 did not work because it ran out of kernel physical memory. That
preallocation could be adjusted, but at some point the available kernel
virtual address space will limit what it can allocate.


Re: [9fans] Maximal number of processes

2014-01-10 Thread Bruce Ellis
Good work. As my good friend Boyd once said Don't give me bullshit
speculation. Measure something!.

brucee


On 10 January 2014 20:15, Charles Forsyth charles.fors...@gmail.com wrote:


 On 10 January 2014 09:11, Charles Forsyth charles.fors...@gmail.comwrote:

 At that point I decided to quite while I was still ahead.


 20,000 did not work because it ran out of kernel physical memory. That
 preallocation could be adjusted, but at some point the available kernel
 virtual address space will limit what it can allocate.



[9fans] [p9p] restart program on Acme Load

2014-01-10 Thread dexen deVries
hi list,


this is plan 9 port Acme question: how do i make Acme restart application upon 
Load? the only thing i care about is the correct working directory.


i'm running `git gui' from Acme; the tag indicates it with `git' word. upon 
Dump, restart Acme, Load, the `git' word is recreated in tag, but the program 
is not started.

-- 
dexen deVries

[[[↓][→]]]




Re: [9fans] [p9p] restart program on Acme Load

2014-01-10 Thread Rubén Berenguel
I've been using Acme from p9p to interact with gnu-apl (sadly it has some
quirks that make it kind of unusable...) and I am also interested in
hearing of a way to do it (it was a mild pain to have to write ./apl
--emacs each time I opened and closed acme or gnu-apl crashed.

Ruben


On Fri, Jan 10, 2014 at 11:06 AM, dexen deVries dexen.devr...@gmail.comwrote:

 hi list,


 this is plan 9 port Acme question: how do i make Acme restart application
 upon
 Load? the only thing i care about is the correct working directory.


 i'm running `git gui' from Acme; the tag indicates it with `git' word. upon
 Dump, restart Acme, Load, the `git' word is recreated in tag, but the
 program
 is not started.

 --
 dexen deVries

 [[[↓][→]]]





[9fans] 9P on FPGA?

2014-01-10 Thread dexen deVries
is there any known 9P implementation for FPGA? or has anyone been working on 
communicating with FPGAs over 9P?


-- 
dexen deVries

[[[↓][→]]]




Re: [9fans] 9P on FPGA?

2014-01-10 Thread Richard Miller
 is there any known 9P implementation for FPGA? or has anyone been working on 
 communicating with FPGAs over 9P?

Technically yes, because inferno runs hosted on microCOS on a Nios2 soft cpu on
Altera FPGAs.  But I imagine you're looking for something lower level?




Re: [9fans] 9P on FPGA?

2014-01-10 Thread dexen deVries
On Friday 10 of January 2014 12:25:24 Richard Miller wrote:
 Technically yes, because inferno runs hosted on microCOS on a Nios2 soft cpu
 on Altera FPGAs.  But I imagine you're looking for something lower level?

thanks, will look into that.
but i imagine this particular implementation may be somewhat coupled to 
inferno and/or Nios.


 But I imagine you're looking for something lower level?

anything goes, Verilog preferred. i'm simply trying to learn something new :^)


-- 
dexen deVries

[[[↓][→]]]




Re: [9fans] 9P on FPGA?

2014-01-10 Thread Charles Forsyth
On 10 January 2014 12:13, dexen deVries dexen.devr...@gmail.com wrote:

 is there any known 9P implementation for FPGA? or has anyone been working
 on
 communicating with FPGAs over 9P?


similar: there was a project at the University of York (Styx on a Chip)
that developed some sort of module that could allow devices to export name
spaces. Styx and 9P2000 were by that time identical.

ftp://ftp.cs.*york*.ac.uk/papers/rtspapers/R:Audsley:2005a.pdf‎
www.dcs.gla.ac.uk/~marks/*styx*.pdf‎
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.126.3488rep=rep1type=pdf

The earliest project was demonstrated at an Embedded Systems show at
Birmingham NEC.
It was one of only two rather cool things at the show (most of the show was
boring UML stuff).
The other cool thing was Lars Bok's (Esmertec) OSVM: real-time
garbage-collecting Smalltalk running in 64k on a micro, offering on-the-fly
code updates. Superb.


Re: [9fans] Maximal number of processes

2014-01-10 Thread erik quanstrom
 20,000 did not work because it ran out of kernel physical memory. That
 preallocation could be adjusted, but at some point the available kernel
 virtual address space will limit what it can allocate.

at the cost of moving KZERO down 256MB on the pae kernel,

ivey# ps|wc
  15961  111727  957732

and even more

ivey; ps|wc
  30064  210448 1803915

ivey# cat /dev/swap
17153769472 memory
4096 pagesize
131072 kernel
271322/4056860 user
0/0 swap
0/17877472 kernel malloc
0/17877472 kernel draw

interestingly, the time to launch 1000 sleeps went up in a non-linear way
here's the time to launch each 1000 processes

10000
20000
30001
40000
50001
60000
70001
80001
90000
1   1
11000   1
12000   1
13000   1
14000   1
15000   2
16000   1
17000   2
18000   2
19000   2
2   3
21000   3
22000   4
23000   4
24000   5
25000   5
26000   5
27000   7
28000   7
29000   8
3   8

launching 32000 processes was not possible.  the kernel got stuck.

here's one thing that's not immediately obvious, even when running the
kernel.  conv.nmach must be less than 0x7fff/(1000*1000) = 2147
to prevent reprioritize from doing silly things:

/*
 *  fairshare = 1.000 * conf.nproc * 1.000/load,
 * except the decimal point is moved three places
 * on both load and fairshare.
 */
fairshare = (conf.nmach*1000*1000)/load;

- erik



Re: [9fans] Maximal number of processes

2014-01-10 Thread erik quanstrom
 launching 32000 processes was not possible.  the kernel got stuck.

sloppy statement.  it's not clear if the kernel was really stuck or just
hit something exponential.

 here's one thing that's not immediately obvious, even when running the
 kernel.  conv.nmach must be less than 0x7fff/(1000*1000) = 2147
 to prevent reprioritize from doing silly things:
 
   /*
*  fairshare = 1.000 * conf.nproc * 1.000/load,
* except the decimal point is moved three places
* on both load and fairshare.
*/
   fairshare = (conf.nmach*1000*1000)/load;

and, look.  the comment's wrong.  never read the comments!

- erik



Re: [9fans] [p9p] restart program on Acme Load

2014-01-10 Thread Alexander Sychev
Hi!

It seems dump file doesn't have application-specific info - it has to start
with 'e' symbol.
I have manually edited my acme.dump :


/home/santucco
/usr/local/plan9/font/fixed/anon/anon.14.font
/lib/font/bit/lucm/unicode.9.font
  0.000  67.8832117
w Newcol Kill Putall Dump Exit
e  0   0   0   0   0
 0  0  0   0   0  Amail
/home/santucco/
amail

And Load command runs amail.
But Dump command doesn't save the info back to acme.dump

Maybe this is a bug in rowdump function?

Best regards,
  santucco


On Fri, Jan 10, 2014 at 1:06 PM, dexen deVries dexen.devr...@gmail.comwrote:

 hi list,


 this is plan 9 port Acme question: how do i make Acme restart application
 upon
 Load? the only thing i care about is the correct working directory.


 i'm running `git gui' from Acme; the tag indicates it with `git' word. upon
 Dump, restart Acme, Load, the `git' word is recreated in tag, but the
 program
 is not started.

 --
 dexen deVries

 [[[↓][→]]]





-- 
Best regards,
  santucco


Re: [9fans] Maximal number of processes

2014-01-10 Thread Pavel Klinkovský
I discovered another interesting feature in my tests:

If 'fork' exceeds nproc value, kernel panics.
If 'fork' reaches the available memory limit, it is blocked until some
memory is released (e.g. by the finish of some process).

Pavel



2014/1/10 erik quanstrom quans...@quanstro.net

  launching 32000 processes was not possible.  the kernel got stuck.

 sloppy statement.  it's not clear if the kernel was really stuck or just
 hit something exponential.

  here's one thing that's not immediately obvious, even when running the
  kernel.  conv.nmach must be less than 0x7fff/(1000*1000) = 2147
  to prevent reprioritize from doing silly things:
 
/*
 *  fairshare = 1.000 * conf.nproc * 1.000/load,
 * except the decimal point is moved three places
 * on both load and fairshare.
 */
fairshare = (conf.nmach*1000*1000)/load;

 and, look.  the comment's wrong.  never read the comments!

 - erik


attachment: processes.PNG

Re: [9fans] [p9p] restart program on Acme Load

2014-01-10 Thread dexen deVries
On Friday 10 of January 2014 17:03:07 Alexander Sychev wrote:
 But Dump command doesn't save the info back to acme.dump
 
 
 Maybe this is a bug in rowdump function?


found `dump' in acme(4)

echo 'dump git gui' | 9p write acme/$winid/ctl 
and then Dump
got me close -- but the `git gui' was started in wrong dir -- in Acme's 
getwd() rather than window's directory.


--
dexen deVries

[[[↓][→]]]




Re: [9fans] [p9p] restart program on Acme Load

2014-01-10 Thread Alexander Sychev
Maybe it makes a sence to set the directory via 'dumpdir'?
Really, it seems this is only way to set command to be executed - according
to the sources, 'e' is dumped if Window::dumpstr is filled, and
Window::dumpstr is filled by 'dump' command.


On Fri, Jan 10, 2014 at 5:36 PM, dexen deVries dexen.devr...@gmail.comwrote:

 On Friday 10 of January 2014 17:03:07 Alexander Sychev wrote:
  But Dump command doesn't save the info back to acme.dump
 
 
  Maybe this is a bug in rowdump function?


 found `dump' in acme(4)

 echo 'dump git gui' | 9p write acme/$winid/ctl
 and then Dump
 got me close -- but the `git gui' was started in wrong dir -- in Acme's
 getwd() rather than window's directory.


 --
 dexen deVries

 [[[↓][→]]]





-- 
Best regards,
  santucco


Re: [9fans] [p9p] restart program on Acme Load

2014-01-10 Thread sl
You could put your long command line into a shell script
that takes no arguments and run that shell script from
acme's tag.

sl