On Mon, Aug 05, 2002 at 01:31:00PM -0700, David Mosberger wrote: > That's what the Linux kernel did up to the pre-2.4.0 series of > patches. Then Linus ripped the merging logic out and replaced it with > something simpler. The old merging logic had some nasty SMP issues, > IIRC. Yeah, I think there was a lock inversion ... > In the standard 2.4.18 kernel, MAX_MAP_COUNT is a hardcoded constant. > But in either case, AFAIK, the main reason for the existence of the > limit is to have (some) protection against denial-of-service attacks, > where a single process would consume huge amounts of kernel memory. > There is no a-prio limit in the kernel which would prevent you from > making the number as large as you want (well, within reason: map_count > is a signed 32-bit variable...). Well... kind of. The VMA management algorithms are a RB tree which scales better than a linked list, but is still not going to perform terribly well when we get hundreds of thousands of VMAs. BTW, the find_vma_prev routine which ia64 uses in its fault handler path could be sped up by using the one we have in the PA-RISC tree that was merged into 2.5 -- patch was posted to linux-mm: http://mail.nl.linux.org/linux-mm/2002-06/msg00062.html -- Revolutions do not require corporate support.Received on Mon Aug 05 14:01:51 2002
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:09 EST