The 2001-12-12 set of Linux Kernel version 2.4.16 experimental
patches for Linux for S/390 and Linux for zSeries provides currency
work: The current recommended kernel 2.4.7 code base (up to
2001-12-12) has been adapted to kernel 2.4.16. This code has only
been tested very rudimentarily and is provided for interested power
users as part of our currency work.
Please note that the "on-demand-timer" and "order 2 allocation
relief" patches also required adaptions (see below).
Furthermore the 31-bit and 64-bit OCO-modules lcs, qdio, qeth are
provided on the same code-level as the recommended 2001-12-12
OCO-modules.
It should be possible to build experimental drivers using:
- kernel, kernel-headers, kerntypes 2.4.16
- gcc 2.95.3
- glibc, glibc-devel 2.2.4
- binutils 2.11.90.0.27
- gdb 5.0 (Note that the 2001-09-11 gdb 5.1 alpha-patch is
experimental, not recommended)
- modutils 2.4.7 (Note that the 2001-08-20 modutils 2.4.6
alpha-patch is integrated into modutils 2.4.7 and no additional
patch on top is required)
- s390-tools 1.0
- strace 4.2 (2001-01-19 snapshot from Red Hat 7.1)
and the experimental 31-bit and 64-bit OCO-modules lcs, qdio, qeth.
As we are not aware of any Kernel 2.4.16-specific restrictions,
the kernel 2.4.7 Restrictions
also apply.
Please see the kernel 2.4 Documentation page for the 31-bit and
64-bit manuals, which may be helpful.
-
linux-2.4.16-s390.tar.gz MD5 experimental
(2001-12-12)
Release notes:
This patch contains the current recommended kernel 2.4.7 code
base (up to 2001-12-12), adapted to kernel 2.4.16.
To create the complete linux kernel sources, the following
patches need to be applied in sequence:
linux-2.4.16.tar.gz (GNU)
+ linux-2.4.16-s390.diff (IBM)
-
linux-2.4.16-timer.tar.gz MD5 experimental On
demand timer patch (2001-12-12)
Release notes:
On demand timer patch:
Category operating system. Contains a patch for the linux kernel
2.4.16 that changes the timing method from the regular 100 hz
interrupts to on demand timer interrupts. This saves some cpu
cycles in an idle linux image. The drawback is that a busy linux
image will do a small amount of additional work every time the
switch between user mode and kernel mode is done. In short if you
are running many images under VM the on demand timers are useful
but you probably don't want to use it running under LPAR or native.
The patch introduces a configuration option CONFIG_NO_HZ_TIMER that
lets you choose between the old and the new behavior. Note that
you'll need different lcs, qdio, and qeth modules if you use the no
hz timer option.
To create the complete linux kernel sources, the following
patches need to be applied in sequence:
linux-2.4.16.tar.gz (GNU)
+ linux-2.4.16-s390.diff (IBM)
+ linux-2.4.16-timer.diff (IBM)
-
-
linux-2.4.16-order2.tar.gz MD5 experimental
Patch for "order 2 allocation relief" (2001-12-12)
This patch is an adaption of the 2001-12-12 kernel 2.4.7 "order
2 allocation relief" patch to kernel 2.4.16.
| 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-12-12 "on-demand
timer" patch.
To create the complete linux kernel sources, the following
patches need to be applied in sequence:
linux-2.4.16.tar.gz (GNU)
+ linux-2.4.16-s390.diff (IBM)
+ linux-2.4.16-order2.diff (IBM)
Experimental OCO modules 31-bit
The experimental lcs, qdio, qeth 31-bit kernel 2.4.16
OCO-modules of 2001-12-12 are functionally equivalent to the
2001-12-12 recommended kernel 2.4.7 OCO-modules.
On-demand timer 31-bit kernels need: lcs-2.4.16-s390-timer.tar.gz,
qdio-2.4.16-s390-timer.tar.gz, and
qeth-2.4.16-s390-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels need:
lcs-2.4.16-s390.tar.gz, qdio-2.4.16-s390.tar.gz, and
qeth-2.4.16-s390.tar.gz.
Experimental OCO modules 64-bit
The experimental lcs, qdio, qeth 64-bit kernel 2.4.16
OCO-modules of 2001-12-12 are functionally equivalent to the
2001-12-12 recommended kernel 2.4.7 OCO-modules.
On-demand timer 64-bit kernels need: lcs-2.4.16-s390x-timer.tar.gz,
qdio-2.4.16-s390x-timer.tar.gz, and
qeth-2.4.16-s390x-timer.tar.gz.
Standard 100 Hertz timer 64-bit kernels need:
lcs-2.4.16-s390x.tar.gz, qdio-2.4.16-s390x.tar.gz, and
qeth-2.4.16-s390x.tar.gz.
|