Re: Memory Problem in 2.4.10-pre2 / __alloc_pages failed

Daniel Phillips (phillips@bonn-fries.net)
Sun, 2 Sep 2001 20:26:01 +0200


On September 2, 2001 03:48 pm, Alex Bligh - linux-kernel wrote:
> > Or/and we could remove the sources of higher order allocs, as an example:
> > why is the SCSI layer allowed to allocate order 3 allocs (32 kB) several
> > times per second? Will we really get a performance hit by not allowing
> > higher order allocs in active driver code?
>
> Or put them in some slab like code, the slab for which gets allocated
> early on when memory is not fragmented, and (nearly) never gets released.

What do you do when a new module gets inserted, increasing the high order
load and requiring that the slab be expanded? I.e, the need for dependable
handling of high order physical allocations doesn't go away entirely. The
slab would help even out the situation with atomic allocs because it can
be expanded to a target size by a normal task, which can wait.

> Most of the stuff that actually NEEDS atomic allocation (as opposed
> to some of the requirements that are bogus) are for packets / data
> in flight. There is probably a finite amount of this at any given time.

There is no bound, but yes it tends to stay limited to a given, small amount
over long periods of time. Hoarding schemes are appropriate. The only
problem with slab allocation is, it has more overhead than __alloc_pages
allocation. For high-performance networking this may be a measurable hit.

--
Daniel
-
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/