Skip to main content



Masking devices with cio_ignore

Saving memory and boot CPU time

developerWorks

   Recommendations  |   HOWTO & tools  |   More

Applicability
Benefits




When Linux discovers new CCW devices, it causes a userspace application(hotplugd or hald) to create the needed structures that represent the devices. Linux creates structures for each discovered device, regardless whether it will be used by the system or not. Because usually devices are divided among different Linux systems and the majority of devices in the whole environment is never used, this process is often unnecessary for a great number of devices.

Applicability of the cio_ignore parameter

Linux in an LPAR
 

The IODCS contains the device definitions and possible sharings for all LPARs. Because changing an IOCDS may require an IML, the definitions often prefer sharing of devices among LPARs even if not all of them are actively using the full set. When Linux runs in the LPAR it attempts to acquire information of all devices granted to the LPAR.

To prevent Linux from creating data structures for all discovered devices defined in the IOCDS, use the cio_ignore parameter to provide a blacklist for the Linux kernel. This list contains addresses which can be ignored in the above process.

This is no hard restriction because you can modify this exclusion string at runtime via /proc/cio_ignore if you need an additional device later on.

This support is available for all Linux 2.6 kernel based distributions and newer.

Linux as a z/VM guest
 
When Linux runs as a z/VM guest, Linux sees only the devices explicitly granted to it by z/VM. Therefore, it won't need the usage of the cio_ignore interface.

Back to top


Benefits

These are the benefits of using the cio_ignore parameter:

  1. A well defined cio_ignore parameter may prevent problems related to out-of-memory-killer calls occurring on boot time of low memory systems caused by all structures created in the initial scan.

    It saves memory that would otherwise be used by data structures for every initialized device. Especially in low memory environments this free RAM may significantly improve I/O performance because of more space for the page cache (or the application heap in other workloads).

  2. It speeds up the boot process because on boot the system scans for all available devices.

These issues scale with the complexity of the environment (the number of devices seen by the LPAR).


Back to top



Team
Please address any comments to the performance team: linux390@de.ibm.com