 |

Kernel 2.4 based: August 2001 stream
|
 |
|
 |




|
If you download any software from this web site please be aware of the
Warranty Disclaimer and Limitation of Liabilities.
This page contains the "August 2001 stream" (kernel version
2.4.7 and 2.4.17 and related) experimental downloads
Experimental code drops only have limited testing and may not be
installed or function in all environments. These patches need not
be compatible with other patches on developerWorks for Linux for
S/390 either.
The purpose of experimental code drops is early
publication of on-going efforts at IBM to allow for
- code review and
- early experiments by "power users".
This page may also be used to "submit" code into the development
streams of open source projects.
Warning You may not use
experimental patches on a production system or on any system that
may get authority over a production system or access to data of a
production system. Disregarding this rule may result in severe data
loss.
Experimental patches eventually disappear as they will be
included in a following release unless proven wrong or replaced by
better code.
No Linux kernel 2.4.17 experimental downloads
available.
|
linux-2.4.7-order2-2.tar.gz
MD5
experimental (2001-12-12)
This patch contains a complete
replacement for the original (2001-11-09) "order 2 allocation
relief" patch. The original patch decreased the kernel stack size
to 8KB which turned out to be not enough. As a side-effect of this
new patch there is no longer a need for special OCO-modules.
| Description: |
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 segment tables as defined by the zSeries architecture. A
full region or segment table in 64 bit mode takes 16 KB of
contiguous 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. |
Important notices:
- This patch is very S/390 specific and breaks all other
architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel
and should not be applied if you intend to build a 31-bit
kernel.
- This patch is not compatible with the 2001-10-12 (nor the
2001-09-14) "on-demand timer" patch.
To create the complete linux kernel sources, the following patches
need to be applied in sequence:
linux-2.4.7.tar.gz (GNU)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-order2-2.diff (IBM)
|
The
following experimental 64-bit OCO modules are required for a 64-bit
kernel with the 2001-11-09 patch for "Order 2 allocation relief"
applied.
These experimental 64-bit modules are functionally equivalent to
the 2001-11-23 recommended modules.
|
The
following experimental 64-bit OCO modules are required for a 64-bit
kernel with the 2001-11-09 patch for "Order 2 allocation relief"
applied.
These experimental 64-bit modules are functionally equivalent to
the 2001-11-09 recommended modules.
|
|
 |
|
 |