HP's 2.7/2.8 Feature Wishlist for Linux Kernel Summit Bdale Garbee , HP Linux CTO --- It all boils down to scalability, performance, and robustness. --- * Persistent device naming integrated into the kernel. - Today we have lack of persistent names for IO devices across configuration changes/reboots. This is a constant support problem. For possible solutions, name can either follow a device (eg USB LAN connection) by watching an attribute of the device (MAC or Disk Serial Number) or the name follow a "HW path" (eg particular PCI bus address). * Improved handling of large numbers of devices - Including multipath situations - Will depend on good solution for persistent device naming * Transparent super-page support * Arch-independent perfmon-like interface - Uniform and application-independent performance counter support. oprofile is nice, but application-specific. ia64 perfmonctl() is application-neutral (and very powerful), but currently ia64-specific. Ideally, we would like to get other architectures to support a perfmon-like interface. * Crash dump support integrated in the kernel - Important for lab development - Important for field support * Continued work on balancing interrupts - Kernel would need to provide statistics - Would then have user apps to manage policies * High-end system capabilities - Scheduling to limit/allocate resources by percent when necessary. Resources include memory, CPU, I/O. - Improved NUMA capabilities - HP doing Linux on higher-end boxes. - Need to address NUMA issues. - Want to see common API definition. * Hot-plug cells - HP increasingly interested in Linux on high-end, cell-based systems - Would need to handle all CPUs, memory, I/O on the cell * Leadership http performance. - Get kernel level http support - Ex: get tux into kernel - Important for both marketing purposes, and simply for hot http performance * PCI eXpress support - Not yet sure how extent of what should be done here. - We will need this on future systems * Checkpointing - The ability to checkpoint a Linux process - One use is for restartability in case of failure. - Another use is to provision multiple servers quickly to add capacity under heavy load. - Another use is for debugging - Involves things like chasing all context/memory to disk and serializing it into an object that can be cloned and/or instantiated on another system. Open network connectins may be difficult. Would need to deal with process vs. thread issues. * Improved support for emulation - Ability to hook in emulators to run other instruction sets/architectures and/or to better simulate/debug embedded systems development. * Improved hooks for UML - Http://user-mode-linux.sourceforge.net/ ---- added at summit ----- - device driver versioning