Oracle is providing its Linux users with a new Unbreakable Enterprise Kernel (UEK) 3 release that enables new server capabilities.
The UEK kernel is a way for Oracle to provide an updated set of capabilities in Linux beyond what Red Hat packages in Red Hat Enterprise Linux (RHEL). Oracle Linux is based on RHEL, but that doesn't mean that it needs to be limited by it either.
Wim Coekaerts, senior vice president, Linux and Virtualization Engineering at Oracle, explained that Oracle tracks the mainline Linux kernels closely. The last major update of UEK was UEK 2, which debuted back in March of 2012.
Coekaerts explained that the timeline for UEK is for new releases every 18 months. UEK Release 1 was based on the 2.6.32 kernel while the UEK Release 2.0 was based on the Linux 3.0 kernel.
The new UEK Release 3 is based on the Linux 3.8 kernel update that was first publicly released by Linus Torvalds earlier this year.
Coekaerts said that there are a number of key advantages to Oracle's UEK release model.
"The kernel we ship is very much standard Linux and not a fork that is a version of a number of years ago with major code changes and backports from various different kernels," Coekaerts said. "This makes sure that the code we run is the same code that the developers wrote and the same code that has been tested over periods of time by the more current users of Linux."
He added that the mainline developers write code for a specific kernel, and then the code gets maintained as part of Linux.
"This helps the community because bugs we discover during QA are likely relevant to mainline and every fix we make or change we do is of course public, open, and gets submitted upstream if the bug wasn't already fixed," Coekaerts said. "Making UEK more stable and testing UEK is pretty much 100 percent applicable to mainline and allows our contributions to be very useful and valuable."
Going a step further, Coekaerts noted that stabilizing UEK helps stabilize the mainline of Linux development.
UEK 3 now includes the DTrace kernel and application troubleshooting technology first developed by Sun for Solaris and expand by Oracle. Coekaerts explained that with the UEK Release 2, Oracle provided two kernels, one without DTrace and another with DTrace support.
"The reason for this was purely timing," Coekaerts said. " With UEK Release 3, DTrace is now just part of UEK; of course, we have added new functionality to DTrace like USDT and more static tracing support."
UEK 3 also provides Oracle Linux users with production support for LXC containers.
"In UEK Release 2 (3.0) some important features for Linux containers were still missing, in order for us to consider full support," Coekaerts said. "These features are all in UEK Release 3 and are working well."
So where do Oracle Linux deployments use UEK instead of the stock kernel? Coekaerts explained that every Oracle Engineered System with Oracle Linux — which includes Oracle Exadata, Oracle Exalogic, Oracle Exalytics, Oracle Database Appliance, Oracle Big Data Appliance, Oracle Database Backup, Logging and Recovery Appliance — uses UEK (version 1 or 2) today.
"These systems are all about high performance and stability, and customers like the fact that they can run the exact same OS kernel as we ship as part of our Engineered Systems," Coekaerts said. "We do not have a specific percentage, but many of our customers choose to deploy UEK. The kernels are compatible so there is no change to applications, therefore there are no perceived risks."