Kernel update on 2.6.38

There is much anticipation on the release of Kernel 2.6.38 in March-April as some new features for Storage Area Networks on LIO target frameworks are on offer. Interesting features such as kernel-side polling for device optimization are something most are waiting for gleefully. There are several changes including graphics upgrades, file systems with better cover features and network codes, infrastructure and architecture tweaks and permutations for audio, video and USB hardware drivers.

Updated Storage Area Network

The storage is an in-kernel feature on a LIO-target framework. The superset features include multi-thread architecture (on SIMD support), without blocks and superlative performance due to advance features. The SCSI features such as Assymetric Logical Unit Assignment (ALUA) as well as Persistent Reservation enabled for enhanced performance. The thin LUN provisioning coupled with full error recovery ensures consistency.

The core of these developments is that different storage protocols can now be called as SCSI targets through the iSCSI, the Fibre Channel’s Fibre Channel over Ethernet. The features will in future supersede the existing SCSI subset. That is the SANs will no longer be on STGT, the SCSI Target Framework, or the CONFIG_SCSI_TGT on the kernel configuration.

Extended storage control on the in-kernel polling framework

The in-kernel polling framework offers better control over extended storage media. This can also be used to check for memory cards, optical media such as the DVDs etc. Through regular polling the storage medium status is noted to update user applications in different environments such as the desktop etc. This implies that these applications will not be required for polling media themselves and can instead use the regular polling feature for better media storage management.

This is feature, credited to Tejun Heo runs on economized power and show minimum overhead requirement. This feature can be tweaked using the Sysfs and by default, the in-kernel polling is not opted to avoid interrupting and disrupting media that are already in use in the userland applications. This is needs to be understood well because polling is done by opening the device. Opening up the device will create interference and could lead to complicated scenarios such as optical disk burning. Hence, the inherent limitation of user-space polling is well controlled by this in-kernel polling framework.

This ensures that the there is no requirement for opening the device as well as delayed polling wakeups working against running systems. A new function has been created that checks for new events and a mask is returned for each mask that is found. Since the polling is not happening in the user environment the disk event needs to be notified. This now possible using the event and are handled using udev and other utilities. There are no drivers on the 2.6.38 asynchronous event reporting and it would be ideal to use a helper function along with core block code to overcome this issue. In fact a zero value to the function will entirely disable the polling feature.

Expectations are running high on the kernel 2.6.38 as several features are being addressed for optimization of multiple features.