> > Yes - you can run out of vmalloc space. But you run out of it only when
> > you create too many processes (8192), load too many modules etc. If
> > someone needs to put such heavy load on linux, we can expect that he is
> > not a luser and he knows how to increase size of vmalloc space.
> Not just that - you get fragmentation of it which leads you back to the
> same situation as kmalloc except that with the guard pages you fragment the
> address space more.
So - for example if you have 500 processes, each process 8k stack (plus
one page for vmalloc alignment). Please tell me some alloc/free strategy
that fills up and fragments 64M vmalloc space.
You can't find it.
The difference between memory and vmalloc space is this: you fill up the
whole memory with cache => memory fragments. You don't fill up the whole
vmalloc space with anything => vmalloc space doesn't fragment.