LSB Kernel Interfaces

From The Linux Foundation
Jump to: navigation, search

At the LSB F2F November 2007, we discussed the problem of kernel interfaces.

Greg KH has expressed interest in standardizing certain interfaces into the kernel. Most likely, these will be /proc and/or /sys interfaces. It may or may not be a good idea to add a library interface in front of the raw /proc or /sys pathnames.

Notes from LSB_F2F_November_2007 meeting:

  • Other option is shim layers.
    • libhal - May need to get some libhal people involved to firm up a standard.
    • NUMA

The Kernel Interface domain can be split into two sub-domains from a userland perspective. The sub-domains can be categorized as "Tunable" and "Query". In the "Tunable" sub-domain one would find interfaces to change parameters for the running kernel, thus these interfaces would have an effect on the running system. In the "Query" sub-domain one would find interfaces to obtain information about the system. The "Query" sub-domain can be further divided into at least 3 categories:

  • 1 - Kernel state query
  • 2 - Non changing Hardware (such as the processor)
  • 3 - Pluggable Hardware (such as USB devices)

To build support in the kernel community for this effort and to understand the implications for future standardization w.r.t. kernel interfaces we probably want to start with some simple interfaces for category 2 in the "Query" sub-domain. Information in /proc in this category has been stable for many kernel releases, thus this appears to be low hanging fruit.

Proposal/Request for LSB kernel interfaces:

  • 1 - Interface for /proc/cpuinfo
  • 2 - Interface to determine whether HyperThreading is turned on or not
  • 3 - Interface to determine installed graphics card

The kernel community will have to provide a directory which contains header files declaring these interfaces with the directory locating being constrained to not change from one version of the kernel to another.