★ wanayoo — archive 1999 http://oss.software.ibm.com/developer/opensource/linux/patches/kernel.phpNouvelle recherche | Portail wanayoo
IBM
Home Products Education Events Support About IBM
Dynamic Partitioning Support

Current Version: Patch against various - May 9, 2000

License: GPL

Authors: Hubertus Franke, Mark Giampapa, Philippe De Backer, Ron Rockhold

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.

Download:

CPU Affinity Patch File against 2.3.99-pre5 with a useful test program CPU Affinity TestProgram File
Multinode Memory Emulation Patch File against 2.3.47 and a useful memory stress program
GDB Patch File against 2.3.99-pre5
KDB Patch File against 2.3.99-pre

or download the complete tarball


khttpd patch

Current Version: Patch against 2.3.99-pre6 - May 10th 2000, 11:00 CST

License: GPL

Author: Paul B Schroeder

It adds a simple directory index feature. By default it uses index.html and index.htm. Others can be added through /proc/sys/net/khttpd/dirindex much the same as the dynamic strings.

Download: Patch File


Scheduler Statistics Patch

Current Version: Patch against 2.3.46 - Feb 25th, 2000

License: GPL

Author: Bill Hartner

This patch installs code in the Linux kernel that will collect scheduler statistics and make the statistics available through the proc file system (/proc/sstat). The patch can be useful when evaluating changes to the Linux scheduler source code. The patch is currently on the 2.3.46 IA32 kernel (should be easy to add support for other architectures). The patch supports both UNI and SMP kernels. For SMP, statistics are reported on a per processor basis in addition to a total for all processors.

Each time the statistics are read (e.g. cat /proc/sstat), the statistics are reset so that statistics reported are since the last time they were read. This makes it convenient to run a workload and then collect the statistics after the workload completes.

cat /proc/sstat > before0.dat # reset statistics
run workload
cat /proc/sstat > after0.dat # get statistics

The patch installs an option ("IBM Scheduler Statistics support") in config.in so the patch can be turned on and off. The option appears below the "Kernel Hacking" option which is is located on the main page of the Linux Kernel Configuration tool near the bottom. The option is defaulted to "off".

The patch also supports the P6 family performance-monitoring counters by allowing the performance-monitoring events to be selected through the proc file system (/proc/perfcntr0 and /proc/perfcntr1). The counter values are included in the statistics that are reported through /proc/sstat.

Download: Patch File

Privacy Legal Contact