[Top] [All Lists]

Re: %u-order allocation failed

To: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: %u-order allocation failed
From: Anton Blanchard <anton@xxxxxxxxx>
Date: Sun, 7 Oct 2001 04:12:01 +1000
Cc: Rik van Riel <riel@xxxxxxxxxxxxxxxx>, Krzysztof Rusocki <kszysiu@xxxxxxxxxxxxxxxxx>, linux-xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-reply-to: <Pine.LNX.3.96.1011006194028.5632A-100000@artax.karlin.mff.cuni.cz>
References: <Pine.LNX.4.33L.0110061357560.12110-200000@imladris.rielhome.conectiva> <Pine.LNX.3.96.1011006194028.5632A-100000@artax.karlin.mff.cuni.cz>
Sender: owner-linux-xfs@xxxxxxxxxxx
User-agent: Mutt/1.3.22i
> 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


<Prev in Thread] Current Thread [Next in Thread>