Messages in this thread |  | | Date | Sun, 7 Oct 2001 04:12:01 +1000 | From | Anton Blanchard <> | Subject | Re: %u-order allocation failed |
| |
> Of course vmalloc space can overflow - but it overflows only when the > machine is overloaded with too many processes, too many processes with > many filedescriptors etc. On the other hand, the buddy allocator fails > *RANDOMLY*. Totally randomly, depending on cache access patterns and > page allocation times.
vmalloc space is also much worse for tlb usage when the main kernel mapping uses large hardware ptes. Ingo and davem pointed this out to me recently when I wanted to allocate the pagecache hash using vmalloc (at the moment it maxes out at order 10 which is much to small for machines with large memory).
If you could get away with a single page stack, then you could allocate the task struct separately and avoid any order 1 allocation. But you would probably need interrupt stacks to get away with a single page stack.
Anton - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |