On 9 January 2014 08:08, Pavel Klinkovský <pavel.klinkov...@gmail.com>wrote:

> 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/320000 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.

Reply via email to