Linux Operating System Source Code: IBM Patches

 
Dynamic Partitioning Support
Description:

This work is targeted towards partitionable NUMA based shared memory systems. In such systems we expect multiple partitions to run their own operating system image, fault isolated from each other via hardware firewalls (e.g. NUMA switch protection). In such systems we want to move resources on-the-fly between running OS images, without shutting down the OS. This enables an adaptation of resource assignment due to changing workloads. We have been prototyping this work on a 4x4way FJST NUMA system. Essentially this work enables hotswappability of all resources.

The functionalities that we are adding to the LINUX source are:

  • Basic NUMA capabilities
  • Dynamic Resource Migration Support

Under the extensions to support NUMA we have developed the following capabilities:

  • CPU affinity: this allows the kernel or an application to define via a cpu-mask on which CPUs a particular process must execute. The scheduler has been modified to observe the specified affinity mask.
  • Memory affinity: similar to cpu affinity, an application can specify from which node to allocate memory from. We provide here a patch that allows the simulation of a multinode system from the memory perspective. It exercises the initial NUMA memory support and it provides an experimentation base for the memory affinity work. Parts of this was co-developed with Kanoj Sarcar of SGI.
  • NUMA bringup code: we fixed various bugs related to TLB invalidation protocol and cacheability of MMIO regions. These were integrated into the base kernel 2.3.42.
  • Debugging Support: We moved the GDB and the KDB debugging support to 2.3.99-pre5.

The Dynamic Resource Migration Support focuses on dynamic addition and removal of memory, cpu and I/O. It is currently in progress and no patches are made available at this time.

Developers:
Hubertus Franke, Mark Giampapa, Philippe De Backer, Ron Rockhold
Status:
Available from IBM
Release Notes Date Files
20000509 Release Notes 2000-05-09  
      DynLPAR.tar.gz