Kernel 2.4.7: Restrictions

 

Known bugs

There are known bugs in kernel 2.4.7 which can also show up on S/390 and zSeries hardware.

Initial ramdisk

The new devfs name /dev/rd/0 of the ramdisk cannot be used on the root= kernel parameter. The old style name /dev/ram0 has to be used instead.

Common I/O layer

If you explicitly specify cio_proc_devinfo=yes, not all devices will show up in /proc/deviceinfo/ if there are more than ca. 500 devices attached.

Partition types

On kernel configuration in the submenu "Filesystems", for "Partition Types" only select "IBM disk label and partition support". Other partition types may break your kernel.

CTC/ESCON

The sequence of the parameters as well as the separator used in the module- and kernel parameter line has changed. Please refer to the "Device Drivers and Installation Commands" manual in the 2.4.7 documentation section.

DASD

LCS

Note: If you are using the linux-2.4.7-s390-n-timer.diff and have the CONFIG_NO_HZ_TIMER option switched on, you will have to use the lcs-2.4.7-s390-m-timer.o module instead of lcs-2.4.7-s390-m.o.

Emulated 3172-001 lcs devices on MP3000 do not autodetect correctly, it is advised that you force these devices using
lcs0,<read_devno>,<write_devno>,0,<port_no>
using the channel device layer.

Real 3172-001's may need a delay between detection and starting up the device, otherwise, the device will not start up properly owing to a possible microcode problem.

Best workaround:
Load the lcs module a few seconds before the interface will be configured up, for example: remove the entry for the lcs module in /etc/modules.conf
append "insmod lcs" to the end of /etc/rc.sysinit

Alternate workaround:
Perform an ifconfig tr0 down and ifconfig tr0 up a few seconds after the lcs module was loaded.

a name="channel_device_conf" id="channel_device_conf">Channel Device Configuration

The kernel can be configured both with and without the channel device layer. However, the qeth module only works in kernels built with the channel device layer switched on. CTC and LCS also work in kernels built without the channel device layer. For details on the configuration, please see the "Device Drivers and Installation" manual in the 2.4.7 documentation section.

OSA Express driver, QDIO base support, HiperSockets

Note: If you are using the linux-2.4.7-s390-n-timer.diff and have the CONFIG_NO_HZ_TIMER option switched on, you will have to use the qeth-2.4.7-s390-m-timer.o module instead of qeth-2.4.7-s390-m.o (same for qdio).

Large MTU hallo sizes may fail due to "order-N allocation failed" problem

When using MTU sizes >8K on a network interface, the Linux TCP/IP stack may run into problems on heavily loaded systems because allocating memory for packets may fail due to memory fragmentation. As a symptom of this problem you will see messages of the form "order-N allocation failed" in the system log; in addition, network connections will drop packets, in extreme cases to the extent that the network is no longer usable.

As a workaround, use MTU sizes at most of 8K (minus header size), even if the network hardware allows larger sizes (e.g. HiperSockets, gigabit ethernet).

Contact the IBM team

If you want to contact the Linux on System z IBM team refer to the Contact the Linux on System z IBM team page.