lkml.org 
[lkml]   [2002]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectThe IBM order relaxation patch
Hi,

I had a look at an IBM patch, which is described thus:

- Order 2 allocation relief

Symptom: Under stress and after long uptimes of a 64 bit system
the error message "__alloc_pages: 2-order allocation failed."
appears and either the fork of a new process fails or an
active process dies.

Problem: The order 2 allocation problem is based in the size of the
region and segement tables as defined by the zSeries
architecture. A full region or segment table in 64 bit mode
takes 16 KB of contigous real memory. The page allocation
routines do not guarantee that a higher order allocation
will succeed due to memory fragmentation.

Solution: The order 2 allocation fix is supposed to reduce the number
of order 2 allocations for the region and segment tables to
a minimum. To do so it uses a feature of the architecture
that allows to create incomplete region and segment tables.
In almost all cases a process does not need full region or
segment tables. If a full region or segment table is needed
it is reallocated to the full size.

This patch is very s/390 specific and breaks all other architectures.
<<they meant "zSeries specific", surely --zaitcev>>

It's a stupid question, but: why can we not simply
wait until a desired unfragmented memory area is available,
with a GPF flag? What they describe does not happen in an
interrupt context, so we can sleep.

And another one: why not to increase a kernel-visible or "soft"
page size to 16KB for zSeries? It's a 64 bits platform. There
will be some increase in fragmentation, but nobody measured it.
Perhaps it's not going to be severe. It may even improve paging
efficiency.

-- Pete

P.S. The patch itself is at:
http://www10.software.ibm.com/developerworks/opensource/linux390/alpha_src/linux-2.4.7-order2-3.tar.gz
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.016 / U:0.816 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site