Oracle Linux 6

Oracle is pleased to announce the general availability of Oracle Linux 6 for x86 (32 bit) and x86_64 (64 bit) architectures.

Oracle Linux 6 includes many new features, including:

* ext4 filesystem
The ext4 filesystem is installed by default.
* XFS
Oracle Linux 6 includes XFS as an optional filesystem. * ftrace
Ftrace is a tracing framework for analyzing performance and latency in the kernel.
* Performance Counters for Linux (PCL) and perf
The performance counter subsystem keeps track of hardware and software events without affecting performance and enables you to do tracing and performance analysis. Included is a tool called perf for analysis.

* Powertop
Powertop is a new user space tool that helps you reduce server power usage by identifying power hungry processes and by providing recommendations to lower power consumption.

* Latencytop
Latency can be defined as follows: an applications wants to run and execute code, but is blocked by the kernel because some required resource is not available. LatencyTOP is a Linux tool for software developers (both kernel and userspace), aimed at identifying where system latency occurs, and what kind of operation or action is causing the latency to happen. By identifying this, developers can then change the code to avoid the worst latency hiccups.

* Yum-only access to Unbreakable Linux Network (ULN)
Oracle Linux 6 not longer contains up2date for access to Unbreakable Linux Network. Instead packages are managed using Yum. To register with ULN, use the following command:

* DIF/DIX support
The Linux data integrity framework (DIF) enables applications or kernel subsystems to attach metadata to I/O operations, allowing devices that support DIF to verify the integrity before passing them further down the stack and physically committing them to disk. Data Integrity Extensions or DIX is a hardware feature that enables exchange of protection metadata between host operating system and HBA.

* Tickless kernel
The Unbreakable Enterprise Kernel is tickless. In the tickless kernel, timer interrupts are performed on demand rather than at a predetermined frequency. This allows CPUs to stay in a low power state when the system is idle, reducing overall power consumption

* Task Control Groups (TCG)
TCG can track and group processes into user-defined cgroups so that the operating system can treat them as whole and perform scheduling, accounting, and resource allocation accordingly. For example, using
TCG, you can associate a set of CPU cores and memory nodes to a group of processes that makeup an application or a group of applications. This enables subsetting larger systems, more fine grained control over CPU and memory, and isolation of applications.

* Performance Counters for Linux (PCL)
The performance counter subsystem keeps track of hardware and software events without affecting performance and enables you to do tracing and performance analysis. Included is a tool called perf for analysis.

* SSD Detection
The kernel block layer will detect devices that claim to be fast, solid state storage and tune itself accordingly. The result of this detection can be found in:

/sys/block/xxx/queue/rotational

Where xxx is the block device. Echoing a 0 or a 1 into this file will force the value to off or on. When assuming a device is an SSD, the block layer will try harder to immediately dispatch the IO to the device.

* IO affinity
IO affinity ensures processing of a completed IO is handled by the same CPU that initiated the IO. It can have a fairly large impact on
performance, especially on large NUMA machines. IO affinity is turned on by default, but it can be controlled via the tunable in /sys/ block/xxx/queue/rq_affinity. For example, the following will turn IO affinity on:

echo 1> /sys/block/sda/queue/rq_affinity

* Receive packet steering (RPS)
RPS distributes the load of received packet processing across multiple CPUs. This solution allows protocol processing (e.g. IP and TCP) to be performed on packets in parallel. This removes a bottleneck when a single core is saturated processing network interrupts. To enable receive packet steering for the interface xxx, place a CPU mask into

/sys/class/net/xxx/queues/rx-0/rps_cpus

The cpu mask takes the same form as the masks for the taskset command. For example:

echo 0x55> /sys/class/net/eth0/queues/rx-0/rps_cpus

* fallocate()
fallocate() is a new system call which will allow applications to preallocate space to any file(s) in a file system. Applications can get a guarantee of space for particular file(s) – even if later the system becomes full. Using this method of allocation can dramatically speed up the creation of large files such as those used for virtual machine images.

For more information, please refer to the online release notes available at: