LTC bulletin: October 30, 2001

News in brief from IBM's Linux Technology Center

Maya Stodte (mstodte@yahoo.com)
Technology journalist

October 2001

Our biweekly news in brief from the Linux Technology Center -- where all the Linux-related technologies happening inside IBM are tracked -- includes over thirty-five (wow!) project and patch updates, due to the long lapse between installments. The updates, arranged alphabetically by project, begin with the most recent news for each project and include all happenings since the last bulletin on August 30th. To find out more about any of these projects, go directly to the Linux Technology Center.

I would like to apologize for the long delay since the last LTC bulletin, which will now return to its regular two-week publication schedule. A lot has happened in the last eight weeks! So this installment is rather long. Several readers have asked whether they might be notified by e-mail when the bulletin is published. Unfortunately, this is not yet possible, although we are working on it. In the meantime, you can subscribe to the weekly developerWorks e-mail newsletter, which always includes the newest LTC bulletin the week that it's refreshed.

The items in this bulletin are arranged alphabetically by project.

Channel Bonding
The Channel Bonding project has released several versions since its inception -- version 20010920 (Sept 21), -914 (Sept 18) and -910 (Sept 12). More detailed information on the project and its releases will be available in the next LTC bulletin, two weeks from now.

Content Query System (CQS)
The LTC has added the Content Query System project to its list of hosted projects. The project's current Beta version 1.00 is still being tested.

CQS provides peer-to-peer access to information within a network. Using XML messages, the system submits a query, routes it to all CQS systems, performs the query and displays the results. The CQS query engine is a stand-alone, pluggable module, which means that the host does not have to understand the underlying data being queried. The system uses configuration files to define communities, identified by unique names and optional passwords, and content sources, which may consist of any type of data repository. Any system may be a member of more than one community, and a community may contain more than one content source. In order to build the CQS server, you must have OpenSSL, ex2 File System Utilities, IBM XML for C++ and Gnome XML. The Client requires Apache and PHP.

Distributed Lock Manager
The final draft of Kristin Thomas' user's guide for the Distributed Lock Manager project was made available at the end of September; the guide reflects the syntax and semantics of the DLM 1.0, scheduled to be released soon. The first review draft of the document was made available early in July.

"One limitation [in the guide] that we do hope to address concerns some of the sample code snippets in the draft, which are compilable, but are an inconsistent mix of K&R and ANSI C formats. We hope to update those at some point soon," notes the team. "The guide is based on the original lock manager document from HACMP for AIX, but has been extensively modified to match the implementation and syntax being presented by the DLM on Linux, and should accurately represent the syntax and semantics as we anticipate them working in the DLM. It also accurately reflects the syntax of the in-kernel API for the DLM and describes which routines will NOT be supported for in-kernel clients."

"The DLM," the team explains, "provides an implementation of the classic VAX Cluster locking semantics for a Linux cluster. Clients that wish to use the locking facilities connect through an API embodied in a shared library. The DLM handles recovery from failure of various components within the cluster."

DProbes
In late September, the DProbes Project updated its roadmap, taking a closer look at where the project was headed in the near future. In the works are a high level language profiler for the probes, sampler probes, a fault injection, new ports to the zSeries and IA64 and init time probes.

DProbes is a debugging facility designed to work under extreme or inaccessible conditions. It gathers diagnostic information by dynamically firing probes into executing code modules, relying on user written probe-handlers (programs written in assembly-like code based on Reversed Polish Notation).

Dynamic Probe Class Library
The Dynamic Probe Class Library project has released version 3.0. "Dynamic Probes can now be built as a kernel module," according to Richard Moore. "It now uses generalized kernel hooks which reduces the overhead on the system when dprobes is compiled in, but dormant.

DProbes 3.2.4 was released in late September. DPLC 3.2.4 is a maintenance update of version 3.2. According to the release notes, it includes a set of fixes that improve scalability and error handling. Among the fixes listed are:

"Dynamic Probe Class Library (DPCL)," explains the team, "is an object based C++ class library that provides the necessary infrastructure to build parallel and serial tools through dynamic instrumentation. DPCL takes the basic components needed by tool developers and encapsulates them into C++ classes. Each of these classes provide the member functions necessary to interact and dynamically instrument a running application with software patches called probes. Dynamic instrumentation provides the flexibility for tools to insert probes into applications as the application is running and only where it is needed."

Enterprise Volume Management Systems (EVMS)
The Enterprise Volume Management Systems released version 0.2.0 in mid-September and posted the abstract for a talk that will be given in November at the 5th Annual Linux Showcase. Changes to EVMS 0.2.0 include support for the stacking of segment (partition) managers and of region managers (VGEs) and GUI and AIX code enhancements. The complete changelog is available on the project site.

EVMS does logical volume management with plug-in model architecture in order to maximize extensibility and flexibility.

Event Logging
The project on Event Logging for the Enterprise has also recently been added to the LTC list of hosted projects. The current version is the 1.0.1 beta release.

The Linux Event Logging for Enterprise-Class Systems logs events and informational messages from kernel subsystems and system applications. The heretofore used printk/klog (for logging kernel events) and syslog (for logging non-kernel events), record events as text-only, have a limited user interface and set of event providers and notification capabilities, and log file sizes and the age of the events they record. It is with this in mind that the Device Driver Event Logging project aims, without affecting calls to printk/klog and syslog, to provide a system-wide log with event records of fixed structure which represent attributes of the event record and a variable-length data buffer containing the event data (text or binary).

First Failure System Technology
Another recent addition to the LTC list of hosted projects, the First Failure System Technology project was added in early October. The first release is not yet available. Go to the project site for a brief list of the project's goals, and the kinds of contributions they are looking for. You can also contact Richard Moore, the project maintainer, through the site. Richard also maintains the DProbes project and GKHI as well as the new Linux RAS package.

"We are looking at using a hooking mechanism for dynamically enabling error reporting and checking code," Richard notes. "The ancillary checking code will be present in a kernel module to hook itself into the system when the user wishes to activate assertion checking. We are designing focal control point where all the hooks, referred to as FFST ("fst probes"), are managed by a single user interface. We would like to use GKHI as the hooking mechanism, since it's especially optimised for inactive hooks and has a single point of control through the /proc file system."

Flexible Dump
The Flexible Dump project, added to the LTC in late September, is working with the SGI lkcd project and, to a lesser degree, with the Mission Critical's Kernel Crash Dump project to create a system-wide dumping capability for Linux. In late September the project posted an lkcd cleanup patch and a non-disruptive dump / SMP patch for lkcd. They have also recently released an incomplete backtrace patch. Go to their patch page for more complete details and to download the patches. A general lkcd mailing list available for those of you who are interested. The project is being led by Suparna Bhattacharya, under the general umbrella of Richard Moore's Linux RAS package.

The Flexible Dump project focuses on creating the flexibility to operate in a badly damaged system environment and well as in a working situation where a partial or full system snapshot is required. The project works on the basis of sub-projects, some of which include: non-disruptive dump, stand-alone dump/dumping badly damaged systems, dump device redundancy, N/W dumping principally for blade servers, flexible dumping and portability to other architectures.

GKHI
The Generalized Kernel Hooks Interface project released version 1.4 in early October, and version 1.3 in late September. In late September, the project also added a road map. According to the changelog, the 1.4 version includes the following changes:

Go to the complete changelog for further details and to see a listing of changes made to the earlier 1.3 version. Looking to the future, what's next for GKHI on the road map includes HOOK macro refinements and GKHI Employment as a First Failure System Technology (FFST).

The GKHI generalized mechanism manages exits in kernel space; it is suitable for use in first failure data capture applications, security hooks, and optional serviceability tools. "A hook is a location in the kernel that calls out of the kernel to a kernel module routine - a hook exit routine," explains Richard Moore. "It enables many kernel enhancements, which are otherwise self-contained, to become loadable kernel modules and retain a substantial degree of independence from the kernel source. This affords advantages for maintenance and co-existence with other kernel enhancements."

Hotplug PCI
In mid-October, the Hotplug PCI project was added to the list of projects hosted by the LTC, and released its 2.4.13-pre1 patch. A complete changelog for the patch is available from the project team. Hotplug for PCI was also recently a featured project on the Linux on Large Systems Foundry at SourceForge.

"The PCI Hot Plug driver for Linux is part of a project to add support for PCI Hot Plug into the Linux kernel," as noted by the project team. "This project includes source for a driver (cpqphp.o) for the Compaq PCI Hot Plug controller found in Compaq ProLiant and other servers. Also, there are GUI and command-line interfaces to PCI Hot Plug. Using this software and a 2.4 Linux kernel, it is possible to add or remove most PCI adapters in a server with the supporting hardware."

Internationalization patches (I18N)
Several new Internationalization patches from the I18N initiative were released in late August. The patch for GNU bash fixed two bugs; the details are available in the release notes for the bash patch. The patch for GNU awk changes commands to support multi-byte character sets, and locale sensitive behavior to "gawk" , and was submitted to the Free Software Foundation, as was the patch for GNU sed which changes commands to support multi-byte character sets, and locale sensitive behavior to sed.

IPv6 patch
Three new Linux IPv6 patches were released in mid-October. A patch for IP security with missing crypto fixes a bug where data would be sent as though it was encrypted, even though no crypto libraries were being used. A patch for adding same SA to a policy multiple times prevents the SPD from associating the same SA more than once with a policy. And a patch for pfkey segfault fixes an intermittent segmentation fault when adding or deleting a policy to the SPD with the pfkey command.

The USAGI (UniverSAl playGround for Ipv6) Linux development project works to deliver the IPv6 protocol stack to the Linux system. The project works in collaboration with the WIDE Project (Widely Integrated Distributed Environment), the KAME Project and the TAHI Project.

iSeries
The iSeries project updated the 2.4.3 iSeries patches in early October (the tenth patch) and late August (the ninth patch). The tenth patch included performance improvements related to TCEs, and some rare hash page table faults fixed. The nineth patch also included performance improvements and a PCI fix.

Also connected with the iSeries project, the IBM eServer iSeries Linux team took Best of Show at LinuxWorld.

The IBM e-server iSeries is a set of enterprise servers designed for e-business solutions. SuSE has just released an iSeries Linux distribution, and TurboLinux shipped version 6.5 for iSeries in August. Note that if you run Linux on the iSeries unsupported, you need the next version of OS/400, which is still in beta testing.

Jikes
Jikes Research Virtual Machine has been released. More information on this project will be detailed in the next bulletin.

The Jikes project released version 1.15 in early October. The primary objective for the release was to fix bugs rather than introduce new features. Release notes and a changelog are available at the project site. On the todo list for the near future, are plans to bring Jikes up to Java2 classpath handling and writing a class introspector in TCL to be used in Jacks testcases.

Jikes is an open source, strictly java-compatible, high performance line compiler that translates Java source files into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification. It also performs a dependency analysis which provides incremental builds and makefile generation. The project provides access to the complete CVS development tree, which includes not only Jikes, but also the source for the Jacks Test Suite and the Jikes Parser Generator used to build Jikes.

Journaled File System (JFS)
JFS, as always, has quite a bit of news. The project recently released JFS 1.0.8 -- 1.0.7 was released in mid-October, 1.0.6 was released in late September, 1.0.5 in mid-September, and 1.0.4 in late August. JFS was also featured in a couple of new distribution releases and at least once in the news. In mid-September, Randy Dunlap from the Open Source Developer Lab released a report on the Linux 2.4.x Journaling File Systems which featured the JFS project, as well as ext3fs, reiserfs, and SGI's xfs. And the new release of Mandrake Linux 8.1 in early October featured JFS 1.0.5 and OMNI 0.4. Around the same time, SuSE Linux 7.3 was announced, featuring JFS 1.0.

The functions and fixes in the most recent release, drop 46, are as follows according to the changelog, where further information is available for all previous releases of JFS. For the utilities:

For JFS:

The Journaled File System technology from IBM, currently used in its enterprise servers, provides a log-based, byte-level file system designed for high-throughput server environments. Work is underway to complete the port to Linux.

Kerberos patch
The Kerberos patch released five new patches in late September and early October. The ksu_ownership patch fixes a segmentation fault in ksu that occurs when the target user does not own the .k5login or .k5users files in their home directory. The ksu_plain_dump_principal patch fixes a bug that causes ksu to core dump if Kerberos has been compiled without having GET_TGT_VIA_PASSWD defined. (The default install has GET_TGT_VIA_PASSWD defined.) The init_ctx patch fixes a bug where the default options for the context were being set statically rather than to the value defined in the profile. The extra frees patch fixes a minor memory leak that occurs during error situations. And the kadmin patch fixes a condition where improper input to kadmin causes it to hang. All the patches are licensed under the MIT open source license. The first three have been submitted to the Kerberos project's GNATS bug tracking database and the last two to the krbdev mailing list.

Kerberos is network authentication protocol that uses secret-key cryptography. It is being developed under an open source license at MIT. The most recent release is Kerberos 5 release 1.2.2

Kernel Debugger (KDB)
The Kernel Debugger project was added to the list of projects hosted on the LTC in late September. A Dprobes hooks patch and an mdWcn and mmW patch have been released. A complete patch list is available. According to the project site, among the goals for the LTC team contributing to the SGI Kernel Debugger projects are finding an improved H/W structure formatting, creating the ability to examine all CPU registers and the ability to examine multiple user contexts, creating dynamic little- and big-endian support for memory display and support for multiple integer sizes and developing improved complex expression handling for command address operands.

The Kernel Debugger project at the LTC is a contribution to the SGI Kernel Debugger Project, which is working on a built-in kernel debugger for Linux.

Lanstreamer patch
The token ring Lanstreamer patch was updated in mid-September. The update was to the Lanstreamer TokenRing driver and fixed the hanging problem. It rearranged calls to netif_*_queue, made sure interrupts are re-enabled before exiting interrupt code, got rid of cli() calls, and added ioctl() functionality for debugging, according to the patch release note. The patch was submitted to the Linux Token Ring Project.

The Lanstreamer patch is a contribution to the Linux Token Ring Project. The LTRP deals with issues relating to using Token Ring under Linux and provides a centralized forum for consultation and contribution.

Linux Kernel Crash Dumps patch
Linux Kernel Crash Dump released three patches in late September and early October. The most recent patch fixed incomplete backtraces, and the two previous covered code cleanup and non-disruptive dump and SMP fixes. The patches are available through the project site and have been submitted to the LKCD project. The LKCD is developing methods to detect, save and examine Linux system crashes, in a contribution to the ongoing effort to increase Linux stability.

Linux RAS package
In late September, the LTC added the Linux RAS package, another project lead by Richard Moore of DProbes and GKHI, to its list of hosted projects. The project has released a white paper on Enterprise Enabled Linux - Standard RAS Implementation .

With a focus on serviceability, the Linux RAS package aims to integrate several already ongoing efforts. "The approach we are investigating," says Richard Moore, "is to produce a series of patches to the constituent project patches, so that they can be applied serially to the kernel." The project patches the package thus far plans to work with are: IBM's Linux Event Logging, Opersys' Linux Trace Toolkit, IBM's Dynamic Probes, SGI's Kernel Crash Dump, and SGI's Kernel Debugger.

Linux Scalability Project
The Linux Scalability project released new versions of the global locking document and patches to reduce the number of global spinlocks, in late September. They also released a scheduler, a NUMA patch and IO Scalability in early October. Release notes are available on the project page.

The Linux Scalability Project is an investigation into Linux 2.4 SMP scalability, using Netbench as a workload with Samba.

Linux Standards Base (LSB)
The Linux Standards Base project started its compliance test pilot on August 27th at Linux World Expo in San Francisco. There is an open call for participation and assistance in the development of the test suites.

The LSB is a family of specifications defining a binary system interface for compiled applications in order to insure a uniform industry-standard environment. The specification consists of a generic LSB and an architecture-specific LSB. The Linux Standard Base (LSB) works to advance these standards among Linux distributions so that all Linux software can run on compliant systems. The LSB is also involved in development efforts and recruits vendors to the Linux platform.

Linux Test Project
The Linux Test Project posted results in mid-September, and released version 20010905 later in the month.

"The Linux Test Project is a group aimed at testing and improving Linux," as noted by the team. "The goal of the LTP is to deliver a suite of automated testing tools for Linux as well as publishing the results of tests we run." The latest package from the LTP is version 20010801. The changelog notes that "there are several minor bugfixes and enhancements to this release as well as some new tests. New tests include an ipc semaphores test, an nfsstat test, a large file test, a filesystem permissions test, and several memory stress tests."

Linux Utility for cluster Installation (LUI)
The Linux Utility for cluster Installation released 1.12.2 in mid-September. The release notes note changes to the mkluikernel for PowerPC platform. The last release of LUI, 1.12.1, made available in July of this year, introduced the new tool, mkluikernel, to dynamically download and build an LUI network boot kernel.

LUI is a utility that installs workstations remotely over an ethernet network by providing tools to manage installation resources on the server. Read about the merger between LUI and the VA SystemImager to form SIS, the System Installation Suite.

Miscellaneous patches
Following are miscellaneous patches produced by members of the LTC, beginning with the most recent.

 

Next Generation POSIX Threads (NGPT)
The Next Generation POSIX Threads project released the stable 1.0.2-3 and 1.0.2-2 in mid-October, with bug fixes for the general release 1.0.2, which was came out in early October. "This release," according to the project team, "contains significant changes affecting usage on SMP machines and many, many bug fixes. The main focus of this release was SMP load balancing and binary compatibility with glibc/LinuxThreads." Release notes are available.

The Next Generation POSIX Threading project derives from the GNU Pth package. It aims to solve problems associated with the pthreads library on Linux.

Omni
The Omni project, along with JFS, was included in the release of Mandrake Linux 8.1. The project also released Omni 0.5.0 in early October, with previous releases 0.4.1, -.2 and -.3 having been released in late August and early September. A complete changelog is available. Also, an OMNI Print presentation was given in August at Linuxworld, and was posted for public viewing late in September.

Omni edits old device description files in order to create new devices and allows for the subclassing of previous device features, which simplifies printer driver development.

OpenAFS
The OpenAFS project released version 1.2.2 in early October. "The release includes a fix to prevent the Linux client from oopsing when stat()ing a large number of directories," according to the release notes, "as well as Rx MTU calculation fixes for Irix, Solaris and Linux. It also includes dynamic root (/afs) support for all Unix versions." Complete release notes are available.

AFS is a distributed enterprise file system with a data management model that was open sourced by IBM's Transarc lab last September. It offers a client-server architecture for file sharing in which files stored in AFS are accessed through user installations.

PowerPC 64
Paul Mackerras of the PowerPC 64 team was mentioned in the October issue of Wired magazine (page 136). He is the 32-bit PowerPC Linux Kernel maintainer.

The ppc64 port of the Linux kernel runs on both iSeries and pSeries boxes with 64 bit PowerPC processors.

Prioritize Accept Queues (PAQ) patch
The Prioritize Accept Queues patch was updated in mid-September. The update adds preemption capabilities.

PAQ, an inbound connection control mechanism, provides admission-control and service-differentiation based on connection and application level information by configuring and prioritizing incoming connection requests. Complete PAQ test results are available.

Samba patches
Three Samba patches for the net command and remote adding of shares have been released by Jim McDonough.

 

Standards Based Linux Instrumentation for Manageability (SBLIM)
The Standards Based Linux Instrumentation for Manageability project released NPI version 0.9 and FSVOL version 0.9 in mid-October (FSVOL 0.8 cam out in late September). All of the SBLIM providers are written to the Native Provider Interface, and the File Systems and Volume Management Instrumentation gives WBEM-access to information about file systems and volumes (including logical volumes) available on GNU/Linux systems.

The most important goal of the SBLIM project is to provide a complete suite of CIMOM providers for Linux (a.k.a. instrumentation) effectively implementing the CIM Schema. Doing this will enable GNU/Linux systems for WBEM. As of version 2.5, the CIM Schema consists of the following sub-schemas: Core, Application, Device, Events, Network, Metrics, Physical, Policy, Support, System, User, and Network. The CIMOM technology from SNIA , the Storage Networking Industry Association, provides client and server with CIM/WBEM technologies.

SBLIM (pronounced "sublime") is working to enhance the manageability of GNU/Linux systems. It does so by enabling GNU/Linux for WBEM , Web Based Enterprise Management, a set of standards defined by the DMTF and fostered by the WBEMsource initiative .

System Configurator and System Installer
A clustering article published on Linux.com in mid-October covered the SystemImager and System Configurator projects. The System Configurator project released version 0.88 in early October, in which " IA64 support is the big new addition," according to the team. "In addition to configuring the kernel properly, System Configurator will add a 'Linux' boot option to the EFI menu, and set that to be the default option."

System Installer released libdbdcsv-perl 0.1027 in mid-October. The package contains the perl module DBD::CSV and its prerequisites, which are required by SystemInstaller. System Installer version 0.3 was released in late September (0.2 came out earlier that month). "This release of System Installer is actually functional and able to build rpm based images," the team notes in the release notes. "It is also linked to SystemImager(the beta release). "

System Configurator and System Installer work in tandem with System Imager, and comprise the System Installation Suite. SIS is the result of a recent merger between the LTC LUI project and SystemImager from VA Linux. Read more about the merger in the LTC Bulletin from June 19.

Articles written by members of the LTC
 

 

Collaborations with the LTC
The LTC collaborations page lists groups and projects with which the LTC works in close collaboration. The USAGI (IPv6 for Linux) and MIPL (Mobile IP for Linux) projects were added in mid-September. The list includes collaborations under topics such as administration, desktop, education, networking and standards and internationalization.

Documentation from the LTC
The LTC documentation site was updated in mid-September. It includes HOWTOs on PowerPC Embedded Systems, JFS Root Boot, DB2 on Linux, Linux Partition and Token Ring, an addition to the Linux 2.4 kernel internals document, and a link to the LDoc page.

Miscellaneous news

Resources

About the author
Maya Stodte, previously a contributing writer and editor for developerWorks, is now working as a freelancer. She can be reached at mstodte@yahoo.com.

Copyright 2001