Oracle Legal Notices
Copyright Notice
Copyright © 1994-2013, Oracle and/or its affiliates. All rights reserved.
Trademark Notice
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
License Restrictions Warranty/Consequential Damages Disclaimer
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
Warranty Disclaimer
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
Restricted Rights Notice
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
Hazardous Applications Notice
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Third-Party Content, Products, and Services Disclaimer
This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
Alpha and Beta Draft Documentation Notice Disclaimer
If this document is in preproduction status:
This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.
E48380-01
August 2013
Abstract
This document contains information on the Unbreakable Enterprise Kernel Release 3 Beta. This document may be updated after it is released. To check for updates to this document, and to view other Oracle documentation, refer to the Documentation section on the Oracle Technology Network (OTN) Web site:
http://www.oracle.com/technology/documentation/
This document is intended for users and administrators of Oracle Linux. It describes potential issues and the corresponding workarounds you may encounter while using the Unbreakable Enterprise Kernel Release 3 with Oracle Linux 6. Oracle recommends that you read this document before installing or upgrading the Unbreakable Enterprise Kernel Release 3.
Document generated on: 2013-08-28 (revision: 1166)
Table of Contents
The Oracle Linux Unbreakable Enterprise Kernel Release Notes provides a summary of the new features, changes, and known issues in the Unbreakable Enterprise Kernel Release 3 Beta.
This document is written for system administrators who want to use the Unbreakable Enterprise Kernel with Oracle Linux. It is assumed that readers have a general understanding of the Linux operating system.
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
The latest version of this document and other documentation for this product are available at:
http://www.oracle.com/technetwork/server-storage/linux/documentation/index.html.
The following text conventions are used in this document:
Convention | Meaning |
---|---|
boldface | Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary. |
italic | Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values. |
| Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter. |
The Unbreakable Enterprise Kernel Release 3 (UEK R3) is Oracle's third major release of its heavily tested and optimized operating system kernel for Oracle Linux 6 on the x86_64 architecture. It is based on the mainline Linux kernel version 3.8.13.
The 3.8.13-13 release also updates drivers and includes bug and security fixes.
Oracle actively monitors upstream (3.9.*) checkins and applies critical bug and security fixes to UEK3.
Versioning of UEK R3 uses the same versioning model as the mainline Linux kernel version. It is possible that some low-level utilities of the Oracle Linux distribution might not understand the 3.x versioning scheme. However, regular Linux applications are usually neither aware of nor affected by Linux kernel version numbers.
The Unbreakable Enterprise Kernel Release 3 (UEK R3) provides the following features relative to UEK R2:
The code base has been aligned with mainline Linux 3.8.13.
Support for the Intel IVB processor family has been added.
Paravirtualization support has been enabled for Oracle Linux guests on Windows Server 2008 Hyper-V or Windows Server 2008 R2 Hyper-V.
The LSI MPT3SAS driver has been added to support LSI MPT Fusion based SAS3 (SAS 12.0 Gb/s) controllers.
The integrated OpenFabrics Alliance (OFED) 2.0 stack, which supports the following InfiniBand hardware on systems with an x86_64 architecture:
Mellanox ConnectX-2 InfiniBand Host Channel Adapters
Sun InfiniBand QDR Host Channel Adapter PCIe #375-3696
Btrfs in UEK R3 is based on version 3.8, whereas btrfs in that latest update to UEK R2 is based on version 3.0 with some additional backported features, such as support for large metadata blocks and device statistics.
The following notable features are implemented for the btrfs file system in UEK R3 in addition to those features that are already provided in UEK R2:
Changing the RAID profile without unmounting the file system.
Subvolume-aware quota groups (qgroups). For more information, see https://btrfs.wiki.kernel.org/index.php/UseCases.
The send and receive subcommands of btrfs allow you to record the differences between two subvolumes, which can either be snapshots of the same subvolume or parent and child subvolumes. For an example of using the send/receive feature to implement an efficient incremental backup mechanism, see https://btrfs.wiki.kernel.org/index.php/Incremental_Backup.
Cross-subvolume reflinks allow you to clone files across different subvolumes within a single mounted btrfs file system. However, you cannot clone files between subvolumes that are mounted separately.
The copy-on-write mechanism can be disabled for an empty file by using the chattr +C command to add the NOCOW file attribute to the file or by creating the file in a directory on which you have set NOCOW.
File hole punching, which allows you to mark a portion of a file as unused, so
freeing up the associated storage. The FALLOC_FL_PUNCH_HOLE
flag to the fallocate()
system call removes the specified data
range from a file. The call does not change the size of the file even if you
remove blocks from the end of the file. A typical use case for hole punching is to
deallocate unused storage previously allocated to virtual machine images.
Replacing devices without unmounting or otherwise disrupting access to the file system by using the replace subcommand to btrfs, for example:
# btrfs replace mountpoint
failed_device
replacement_device
The limitation of the number of hard links in a single directory has increased to 65535.
For more information about the features that are available in different versions of btrfs, see https://btrfs.wiki.kernel.org/index.php/Changelog.
To access these features, use yum update to install the
btrfs-progs
package (btrfs-progs-0.20-1.4
or
later) from the ol6_latest
channel on ULN or Oracle Public
Yum.
DTrace is a comprehensive dynamic tracing framework that was initially developed for the Oracle Solaris operating system. DTrace provides a powerful infrastructure to permit administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs in real time.
DTrace 0.4 in UEK R3 has the following additional features compared with Dtrace 0.3.2 in UEK R2:
In UEK R2, you had to install separately available packages that contain a
DTrace-enabled version of the kernel and associated modules for the DTrace probes
and libraries. In UEK R3, Dtrace support is integrated with the kernel and you can
install the DTrace packages from the ol6_x86_64_UEK_BETA
channel.
DTrace now supports probes for user-space statically defined tracing (USDT) in programs that have been modified to include embedded static probe points.
DTrace allows you to embed static probe points in application code, including
both complete applications and shared libraries. These probes can be enabled
wherever the application or library is running, either in development or in
production. You should give the probes meaningful names. For example, you could
define query-receive
and query-respond
probes for a web server that correspond to a client submitting a request and the
web server responding to that request. If the query-receive
probe presented the URL request strings as an argument, a DTrace program could
determine which requests are generating the most disk I/O by combining this probe
with the io
provider.
You define DTrace probes in a .d
source file, which is used
when compiling and linking your application. Having chosen an appropriate name for
your user application provider, create a provider definition in a
.d
source file and add a definition for each probe and its
arguments. In the following example, the name of the provider is
myserv
, the probe query-receive
has two
arguments, which are both of type string
, and the probe
query-respond
has no arguments.
provider myserv { probe query__receive(string, string); probe query__respond(); };
Use the -h option to dtrace to generate
a header file based on the probe definitions. For example, the following command
generates the header file myserv.h
, which contains macro
definitions that correspond to the probe definitions in
myserv.d
:
# dtrace -h -s myserv.d
The D compiler converts the two consecutive underscores
(__
) to a dash (-
) in the final probe
name and to a single underscore in a macro name. The name of a generated macro
encodes both the provider name and the probe name. For example, the compiler
generates the MYSERV_QUERY_RECEIVE
macro for the
query__receive
probe that is defined for the
myserv
provider.
After defining your probes, amend your source code at the locations that should trigger your probes. Consider the following example C application source code:
void main_look(void) { ... query = wait_for_new_query(); process_query(query); ... }
You can add a query-receive
probe to the source code by
using the MYSERV_QUERY_RECEIVE
macro defined in
myserv.h
:
#include "myserv.h" ... void main_look(void) { ... query = wait_for_new_query(); MYSERV_QUERY_RECEIVE(query->clientname, query->msg); process_query(query); ... }
The computational overhead of a DTrace probe is usually equivalent to a few no-op instructions. However, setting up probe arguments can be expensive, particularly in the case of dynamic languages where the code has to determine the name of a class or method at runtime.
In addition to the probe macro, the dtrace -h command creates an is-enabled macro for each probe that you specify in the provider definition. To ensure that your program computes the arguments to a DTrace probe only when required, you can use the is-enabled macro to test if the probe is currently enabled, for example:
if (MYSERV_QUERY_RECEIVE_ENABLED()) MYSERV_QUERY_RECEIVE(query->clientname, query->msg);
If the probe arguments are computationally expensive to calculate, the slight overhead incurred by performing the is-enabled test is more than offset when the probe is not enabled.
You must augment the build process for your application to include the DTrace provider and probe definitions. A typical build process takes each source file and compiles it to create a corresponding object file. The compiled object files are then linked together to create the finished application binary, as shown in the following example:
src1.o: src1.c gcc -c src1.c src2.o: src2.c gcc -c src2.c myserv: src1.o src2.o gcc -o myserv src1.o src2.o
If you have included DTrace probe definitions in your application, you need to
add appropriate Makefile
rules to your build process to execute
the dtrace command, for example:
myserv.h: myserv.d dtrace -h -s myserv.d src1.o: src1.c myserv.h gcc -c src1.c src2.o: src2.c myserv.h gcc -c src2.c myserv.o: myserv.d src1.o src2.o dtrace -G -s myserv.d src1.o src2.o myserv: myserv.o gcc -Wl,--export-dynamic -o myserv myserv.o src1.o src2.o
The dtrace command post-processes the object files created
by the preceding compiler commands and generates the object file
myserv.o
from myserv.d
and the other
object files. The -G option is used to link provider and probe
definitions with a user application.
You must specify the --export-dynamic option when linking a user program that you want to trace. This option causes the linker to add all symbols to the dynamic symbol table (that is, the set of symbols which are visible from dynamic objects at run time). If you use gcc to link the objects, specify the option as -Wl,--export-dynamic to pass the correct option to the linker.
The full name of a probe in a user application takes the usual
provider
PID
:
module
:
function
:
name
form, where:
provider
The name of the provider as defined in the provider definition file.
PID
The process ID.
module
The name of the executable.
function
The name of the function where the probe is located.
name
The name of the probe as defined in the provider definition file with
any two consecutive underscores (__
) replaced by a dash
(-
).
For example, for a myserv
process with a PID of 1173, the
full name of the query-receive
probe would be
myserv1173:myserv:main_look:query-receive
.
The DTrace ustack
, uaddr
, and
usym
actions are implemented for use with user-space
tracing.
void ustack(intnframes
, intstrsize
) void ustack(intnframes
) void ustack(void)
The ustack
action records a user stack trace to the
directed buffer. The user stack is nframes
in depth. If
nframes
is not specified, the number of stack frames
recorded is the number specified by the ustackframes
option.
While ustack
is able to determine the address of the calling
frames when the probe fires, the stack frames are not translated into symbols
until the ustack
action is processed at user level by the
DTrace consumer. If strsize
is specified and non-zero,
ustack
allocates the specified amount of string space, and
use it to perform address-to-symbol translation directly from the kernel. Such
direct user symbol translation is only used with stacktrace helpers that support
this usage with DTrace. If such frames cannot be translated, the frames appear
only as hexadecimal addresses.
The ustack
symbol translation occurs after the stack data
is recorded. Therefore, the corresponding user process might exit before symbol
translation can be performed, making stack frame translation impossible. If the
user process exits before symbol translation is performed,
dtrace outputs a warning message, followed by the hexadecimal
stack frames.
_usymaddr uaddr(uintptr_t address
)
uaddr
prints the symbol for a specified address, including
hexadecimal offset. This allows for the same symbol resolution that
ustack
provides.
_usymaddr usym(uintptr_t address
)
usym
prints the symbol for a specified address. This is
analogous to how uaddr
works, but without the hexadecimal
offsets.
For more information about DTrace, refer to the Oracle Linux 6 Administrator's Solutions Guide and the Oracle Linux 6 Dynamic Tracing Guide, which you can find in the Oracle Linux 6 documentation library at http://docs.oracle.com/cd/E37670_01/index.html.
The control groups (cgroups) feature allows you to manage access to system resources by processes. For more information, see Control Groups.
Linux containers (LXC) are based on the cgroups and namespaces functionality. Containers allow you to safely and securely run multiple applications or instances of an operating system on a single host without risking them interfering with each other. Containers are lightweight and resource-friendly, which saves both rack space and power. For more information, see Linux Containers.
The lxc-attach command is supported by UEK R3 with the
lxc-0.9.0-2.0.4
package. lxc-attach allows you
to execute an arbitrary command inside a running container from outside the container.
For more information, see the lxc-attach(1)
manual page.
To access this feature, use yum update to install the
lxc-0.9.0-2.0.4
package (or later version of this
package).
Relative to Unbreakable Enterprise Kernel Release 2 Quarterly Update 4, numerous bug fixes and performance improvements have been incorporated into the Unbreakable Enterprise Kernel to support Xen usage, including:
Fixes for EDD, x2apic, XenBus, and PVHVM vCPU hotplug issues.
The indirect-descriptor feature, which increases throughput and reduces latency for block I/O.
The Unbreakable Enterprise Kernel supports a large number of hardware and devices. In close cooperation with hardware and storage vendors, Oracle has updated several device drivers. The list given below indicates the drivers whose versions differ from the versions in mainline Linux 3.8.13.
NetXtreme II Fibre Channel over Ethernet driver (bnx2fc
)
version 2.3.4.
NetXtreme II iSCSI driver (bnx2i
) version 2.7.6.1d.
Cisco FCoE HBA Driver (fnic
) version 1.5.0.45.
Blade Engine 2 Open-iSCSI driver (be2iscsi
) version
10.0.467.0o.
Fibre Channel HBA driver (lpfc
) version 0:8.3.7.26.2p.
LSI Fusion-MPT base driver (mptbase
) version 4.28.20.03.
LSI Fusion-MPT ioctl
driver (mptctl
) version
4.28.20.03.
LSI Fusion-MPT Fibre Channel host driver (mptfc
) version
4.28.20.03.
LSI Fusion-MPT IP Over Fibre Channel driver (mptlan
) version
4.28.20.03.
LSI Fusion-MPT SAS driver (mptsas
) version 4.28.20.03.
LSI Fusion-MPT SCSI host driver (mptscsih
) version
4.28.20.03.
LSI Fusion-MPT SPI host driver (mptspi
) version
4.28.20.03.
LSI Fusion-MPT SAS 2.0 driver (mpt2sas
) version
17.00.00.00.
LSI Fusion-MPT SAS 3.0 driver (mpt3sas
) version
03.00.00.00.
MegaRAID SAS driver (megaraid_sas
) version
06.600.18.00.
ConnectX Ethernet driver (mlx4_en
) version 2.1.4. Handles
Ethernet-specific functions and plugs into the netdev mid-layer.
Fibre Channel HBA driver (qla2xxx
) version
8.05.00.03.39.0-k.
iSCSI driver (qla4xxx
) version 5.03.00.03.06.02-uek3.
Supports Open-iSCSI.
NetXtreme II network adapter driver (bnx2
) version
2.2.3n.
NetXtreme II 10Gbps network adapter driver (bnx2x
) version
1.76.54.
Converged Network Interface Card core driver (cnic
) version
2.5.16g.
Tigon3 Ethernet adapter driver (tg3
) version 3.131d.
Blade Engine 2 10Gbps adapter driver (be2net
) version
4.6.63.0u.
PRO/1000 PCI-Express Gigabit network adapter driver (e1000e
)
version 2.4.14-NAPI.
Gigabit Ethernet network adapter driver (igb
) version
4.3.0.
Base driver for Intel Ethernet Network Connection (igbvf
)
version 2.3.2.
10 Gigabit PCI-Express network adapter driver (ixgbe
) version
3.15.1.
10 Gigabit Server Adapter virtual function driver (ixgbevf
)
version 2.8.7.
1/10 GbE Converged/Intelligent Ethernet Adapter driver
(qlcnic
) version 5.2.43.
QLE81xx network adapter driver (qlge
) version
v1.00.00.32.
Realtek PCI Express Gigabit Ethernet controller (r8169
) version
2.3LK-NAPI.
Sun Blade 40/10Gigabit Ethernet network driver (sxge
) version
0.06202013.
VMware VMXNET3 virtual ethernet driver (vmxnet3
) version
1.1.30.0-k.
iSCSI Extensions for RDMA (iSER) Protocol over InfiniBand (ib_iser
) version 1.1.
Provides access to iSCSI storage devices by using iSCSI extensions for remote direct memory access (iSER)
over InfiniBand.
InfiniBand SCSI RDMA Protocol initiator (ib_srp
) version 1.2.
The SCSI RDMA Protocol (SRP) enables access to remote SCSI devices via remote direct memory access (RDMA).
Reliable Datagram Sockets driver (rds
) version 4.1. RDS
provides in-order, non-duplicated, highly-available, low-overhead, reliable delivery
of datagrams between hundreds of thousands of non-connected endpoints.
The following list details a some of the most visible and noteworthy improvements that have taken place in mainline Linux relative to the Unbreakable Enterprise Kernel Release 2.
The ext4 file system can store the content of a small file inside the inode. To enable this feature when creating a file system, specify the -O inline_data option to the mkfs.ext4 command:
#mkfs.ext4 -O inline_data
device
For an existing ext4 file system, specify the option to the tune2fs command:
#tune2fs -O inline_data
device
The inline data feature is incompatible with previous versions of the Unbreakable Enterprise
Kernel. Such kernels cannot mount an ext4 file system that implements this feature. If
you enable the feature on a critical file system such as /
or
/boot
, the system might fail to boot with an older kernel
version.
XFS journals implement checksums for verifying log integrity.
A zero huge page complements the existing implementation of zero 4-KB pages as a performance optimization.
Automatic balancing of memory allocation for NUMA nodes.
The memory
control group supports the following additional kernel
usage memory usage parameters:
memory.kmem.failcnt
Kernel memory usage hits (display only).
memory.kmem.limit_in_bytes
Kernel memory hard limit (set or display).
memory.kmem.max_usage_in_bytes
Maximum recorded kernel memory usage (display only).
memory.kmem.usage_in_bytes
Current kernel memory allocation (display only).
The value of the SCSI error-handling timeout is now tunable. If a SCSI device times
out while processing file system I/O, the kernel attempts to bring the device back
online by resetting the device, followed by resetting the bus, and finally by resetting
the controller. The error-handling timeout defines how many seconds the kernel should
wait for a response after each recovery attempt before performing the next step in the
process. For some fast-fail scenarios, it is useful to be able to adjust this value as
the kernel might need additional time to try several combinations of bus device, target,
bus, and controller. You can read and set the timeout via
/sys/class/scsi_device/*/device/eh_timeout
. The default timeout
value is 10 seconds.
Variable-sized huge pages via the flags
argument to
mmap()
or the shmflg
argument to
shmget()
. Bits 26-31 of these arguments (represented by
SHM_HUGE_MASK << SHM_HUGE_SHIFT
, which corresponds to a
position mask of 0xfc000000) specify the base-2 logarithm of the page size. For example,
values of 21 << SHM_HUGE_SHIFT
and 30 <<
SHM_HUGE_SHIFT
represent page sizes of 2 MB (2^21) and 1 GB (2^30)
respectively. A value of zero selects the default huge page size.
TCP fast open (TFO) can speed up the opening of successive TCP connections between
two endpoints. Applications that want to use TFO must notify the system using
appropriate API calls, such as the TCP_FASTOPEN
option to
setsockopt()
on the server side or the
MSG_FASTOPEN
flag with sendto()
on the client
side.
The watchdog timer device (displayed in /proc/devices
) provides a
framework for all watchdog timer drivers, /dev/watchdog
, and the
sysfs
interface for hardware-specific watchdog code.
The following features included in the Unbreakable Enterprise Kernel Release 3 are still under development, but are made available for testing and evaluation purposes.
Kernel module signing facility
Applies cryptographic signature checking to modules on module load, checking the signature against a ring of public keys compiled into the kernel. GPG is used to do the cryptographic work and determines the format of the signature and key data.
NFS version 4.1 client
Supports Sessions, Directory Delegations, and parallel NFS (pNFS) as defined in RFC 5661.
Transcendent memory
Transcendent Memory (tmem for short) provides a new approach for improving the utilization of physical memory in a virtualized environment by claiming underutilized memory in a system and making it available where it is most needed. From the perspective of an operating system, tmem is fast pseudo-RAM of indeterminate and varying size that is useful primarily when real RAM is in short supply. To learn more about this technology and its use cases, see the Transcendent Memory project page at http://oss.oracle.com/projects/tmem/.
Oracle Linux maintains user-space compatibility with Red Hat Enterprise Linux, which is independent of the kernel version running underneath the operating system. Existing applications in user space will continue to run unmodified on the Unbreakable Enterprise Kernel Release 3 and no re-certifications are needed for RHEL certified applications.
To minimize impact on interoperability during releases, the Oracle Linux team works closely with third-party vendors whose hardware and software have dependencies on kernel modules. The kernel ABI for UEK R3 will remain unchanged in all subsequent updates to the initial release. In this release, there are changes to the kernel ABI relative to UEK R2 that require recompilation of third-party kernel modules on the system. Before installing UEK R3, verify its support status with your application vendor.
This chapter describes the known issues for the Unbreakable Enterprise Kernel Release 3.
On some systems you might see ACPI-related error messages in dmesg
similar to the following:
ACPI Error: [CDW1] Namespace lookup failure, AE_NOT_FOUND ACPI Error: Method parse/execution failed [_SB_._OSC||\||] ACPI Error: Field [CDW3] at 96 exceeds Buffer [NULL] size 64 (bits)]]>
These messages, which are not fatal, are caused by bugs in the BIOS. Contact your system vendor for a BIOS update. (Bug ID 13100702)
The following messages indicate that the BIOS does not present a suitable interface,
such as _PSS
or _PPC
, that the
acpi-cpufreq
module requires:
kernel: powernow-k8: this CPU is not supported anymore, using acpi-cpufreq instead. modprobe: FATAL: Error inserting acpi_cpufreq
There is no known workaround for this error. (Bug ID 17034535)
Calling the oracleasm
init
script, /etc/init.d/oracleasm
, with the parameter
scandisks
can lead to error messages about missing devices similar to
the following:
oracleasm-read-label: Unable to open device "device
": No such file or directory
However, the device actually exists. You can ignore this error message, which is
triggered by a timing issue. Only use the init
script to start and stop
the oracleasm
service. All other options, such as scandisks,
listdisk
, and createdisk
, are deprecated. For these
and other administrative tasks, use /usr/sbin/oracleasm
instead. (Bug ID
13639337)
When using the bnx2x
driver in a bridge, disable Transparent Packet
Aggregation (TPA) by including the statement options bnx2x disable_tpa=1
in /etc/modprobe.conf
. (Bug ID 14626070)
If you use the --alloc-start option with mkfs.btrfs to specify an offset for the start of the file system, the size of the file system should be smaller but this is not the case. It is also possible to specify an offset that is higher than the device size. (Bug ID 16946255)
The usage information for mkfs.btrfs reports
raid5
and raid6
as possible profiles for both
data and metadata. However, the kernel does not support these features and cannot mount
file systems that use them. (Bug ID 16946303)
The btrfs filesystem balance command does not warn that the RAID level can be changed under certain circumstances, and does not provide the choice of cancelling the operation. (Bug ID 16472824)
Converting an existing ext2
, ext3
, or
ext4
root file system to btrfs
does not carry
over the associated security contexts that are stored as part of a file's extended
attributes. With SELinux enabled and set to enforcing mode, you might experience many
permission denied errors after reboot, and the system might be unbootable. To avoid this
problem, enforce automatic file system relabeling to run at bootup time. To trigger
automatic relabeling, create an empty file named .autorelabel
(for
example, by using touch) in the file system's root
directory before rebooting the system after the initial conversion. The presence of this
file instruct SELinux to recreate the security attributes for all files on the file
system. If you forget to do this and rebooting fails, either temporarily disable SELinux
completely by adding selinux=0
to the kernel boot parameters, or
disable enforcing of the SELinux policy by adding enforcing=0
. (Bug
ID 13806043)
Commands such as du can show inconsistent results for file sizes
in a btrfs
file system when the number of bytes that is under delayed
allocation is changing. (Bug ID 13096268)
The copy-on-write nature of btrfs means that every operation on the file system initially requires disk space. It is possible that you cannot execute any operation on a disk that has no space left; even removing a file might not be possible. The workaround is to run fsync before retrying the operation. If this does not help, remount the file system with the -o nodatacow option and delete some files to free up space. See https://btrfs.wiki.kernel.org/index.php/ENOSPC.
The -c option to the btrfs qgroup limit command is redundant as the quota limit is always enforced after compression. (Bug ID 16557528)
If you run the btrfs quota enable command on a non-empty file system, any existing files do not count toward space usage. Removing these files can cause usage reports to display negative numbers and the file system to be inaccessible. The workaround is to enable quotas immediately after creating the file system. If you have already written data to the file system, it is too late to enable quotas. (Bug ID 16569350)
The btrfs quota rescan command is not currently implemented. The command does not perform a rescan and returns without displaying any message.
When you overwrite data in a file, starting somewhere in the middle of the file, the overwritten space is counted twice in the space usage numbers that btrfs qgroup show displays. (Bug ID 16609467)
You cannot label a file system if it is currently mounted or if it is configured on more than one device.
The usage message displayed by btrfs implies incorrectly that you can use the command with a mounted file system:
usage: btrfs filesystem label [<device>|<mountpoint>] [<newlabel>]
If you attempt to label a mounted file system, the errors that btrfs displays are either incorrect or unclear depending on whether you specify the file system by its device name or its mount point, for example:
#mount /dev/sdc1 /mnt
#btrfs fi label /dev/sdc1 B
ERROR: dev /dev/sdc1 is mounted, use mount point #btrfs fi label /mnt B
ERROR: unable to set label Inappropriate ioctl for device
(Bug ID 16745716)
If you run btrfsck --init-csum-tree on a file system and then run a simple btrfsck on the same file system, the command displays a Backref mismatch error that was not previously present. (Bug ID 16972799)
Btrfs tracks the devices on which you create btrfs file systems. If you subsequently reuse these devices in a file system other than btrfs, you might see error messages such as the following when performing a device scan or creating a RAID-1 file system, for example:
ERROR: device scan failed '/dev/cciss/c0d0p1' - Invalid argument
You can safely ignore these errors. (Bug ID 17087097)
If you use the -s option to specify a sector size to mkfs.btrfs that is different from the page size, the created file system cannot be mounted. By default, the sector size is set to be the same as the page size. (Bug ID 17087232)
The seed-device functionality of Btrfs causes errors when the btrfs device add command is run and a kernel panic when the seed device is unmounted. There is currently no known workaround for this issue. (Bug ID 17329252)
Oracle Database is not yet supported for use with Linux Containers. The following information is intended for those who want to experiment with such a configuration.
The following /proc
parameter files may only be set on the host and
not for individual containers:
/proc/sys/fs/aio-max-nr
/proc/sys/net/core/rmem_default
/proc/sys/net/core/rmem_max
/proc/sys/net/core/wmem_default
/proc/sys/net/core/wmem_max
/proc/sys/net/ipv4/ip_local_port_range
Setting the parameters in the host to the Oracle recommended values sets them for all containers and allows the Oracle database to run in a container. For more information, see Configuring Kernel Parameters. (Bug ID 17217854)
When running Oracle Linux 6 with UEK R3, you might see error messages in
dmesg
or /var/log/messages
similar to this one:
microcode: CPU0 update to revision 0x6b failed.
You can ignore this warning. You do not need to upgrade the microcode for virtual CPUs as presented to the guest. (Bug ID 12576264, 13782843)
If DHCP lease negotiation takes more than 5 seconds at boot time, the following message is displayed:
ethX
: failed. No link present. Check cable?
If the ethtool ethX
command confirms that
the interface is present, edit
/etc/sysconfig/network-scripts/ifcfg-eth
and set X
LINKDELAY=
, where
N
N
is a value greater than 5 seconds (for example, 30 seconds).
Alternatively, use NetworkManager to configure the interface. (Bug ID 16620177)
In UEK R2, the dm-nfs
module provided the ability to create a loopback
device for a mounted NFS file or file system. For example, the feature allowed you to create
the shared storage for an Oracle 3 VM cluster on an NFS file system. The
dm-nfs
module provided direct I/O to the server and bypassed the
loop
driver to avoid an additional level of page caching. The
dm-nfs
module is not provided with UEK R3. The loop
driver can now provide the same I/O functionality as dm-nfs
by extending
the AIO interface to perform direct I/O. To create the loopback device, use the
losetup command instead of dmsetup.
DRBD is a shared-nothing, synchronously replicated block device (RAID1 over network), designed to serve as a building block for high availability (HA) clusters. It requires a cluster manager (for example, pacemaker) for automatic failover.
This technology preview feature is not available in the beta release.
After a fork()
, dtrace displays probes that fire for
a child process with the provider name of the parent process.
You can safely ignore the following message that might be displayed in
syslog
or dmesg
:
ERST: Failed to get Error Log Address Range.
The message indicates that the system BIOS does not support an Error Record Serialization Table (ERST). (Bug ID 17034576)
Some new features in ext4 are not supported by the current e2fsprogs
package. A new e2fsprogs
package is targeted for the official release of
UEK R3.
You can safely ignore the following firmware warning message that might be displayed on some Sun hardware:
[Firmware Warn]: GHES: Poll interval is 0 for generic hardware error source: 1, disabled.
(Bug ID 13696512)
One-gigabyte (1 GB) huge pages are not currently supported for the following configurations:
HVM guests
PV guests
Oracle Database
Two-megabyte (2 MB) huge pages have been tested and work with these configurations.
(Bug ID 17299364, 17299871, 17271305)
The Unbreakable Enterprise Kernel uses the deadline
scheduler as the
default I/O scheduler. For the Red Hat Compatible Kernel, the default I/O scheduler is the
cfq
scheduler.
You can safely ignore messages such as ioapic: probe of 0000:00:05.4 failed with
error -22
. Such messages are the result of the ioapic
driver
attempting to re-register I/O APIC PCI devices that were already registered at boot time. (Bug
ID 17034993)
You might see the following warning messages if you use the ibportstate disable command to disable a switch port:
ibwarn: [2696] _do_madrpc: recv failed: Connection timed out ibwarn: [2696] mad_rpc: _do_madrpc failed; dport (Lid 38) ibportstate: iberror: failed: smp set portinfo failed
You can safely ignore these warnings. (Bug ID 16248314)
The following message might appear in dmesg
or /var/log/messages
:
WARNING! power/level is deprecated; use power/control instead.
The USB subsystem in UEK R3 deprecates the power/level sysfs
attribute in favor of the power/control
attribute. The libfprint
fingerprinting library triggers this warning via udev
rules that try to use the old attribute first. You can safely ignore this warning. The setting of the appropriate power level still succeeds. (Bug ID 13523418)
If a large memory system fails to start, boot it using an alternate kernel to UEK R3 and disable the kdump service before booting into the UEK R3 kernel:
# chkconfig kdump off
(Bug ID 16765434)
You can safely ignore the following warning messages in dmesg
and
/var/log messages
if you see them on a non-NUMA system:
kernel: NUMA: Warning: node ids are out of bound, from=-1 to=-1 distance=10 hcid[4293]: Register path:/org/bluez fallback:1 kernel: No NUMA configuration found
(Bug ID 13711370)
You can safely ignore the following error message:
Error: Driver 'pcspkr' is already registered, aborting...
The message arises from an alias conflict between snd-pcsp
and
pcspkr
. To prevent the message from being displayed, add the following
line to /etc/modprobe.d/blacklist.conf
:
blacklist snd-pcsp
(Bug ID 10355937)
For the Unbreakable Enterprise Kernel, kernel.sched_compat_yield=1
is
set by default. For the Red Hat Compatible Kernel,
kernel.sched_compat_yield=0
is used by default.
When upgrading or installing the UEK R3 kernel on fast hardware, usually with SAN storage
attached, the kernel can fail to boot and BUG: soft lockup
messages are
displayed in the console log. The workaround is to increase the baud rate from the default
value of 9600 by amending the kernel boot line in /boot/grub/grub.conf
to
include an appropriate console setting, for example:
console=ttyS0,115200n8
A value of 115200 is recommended as smaller values such as 19200 are known to be insufficient for some systems (for example, see http://docs.oracle.com/cd/E19045-01/blade.x6220/820-0048-18/sp.html#0_pgfId-1002490). If the host implements an integrated system management infrastructure, such as ILOM on Sun and Oracle systems or iLO on HP systems, configure the integrated console baud rate to match the setting for the host system. Otherwise, the integrated console is likely to display garbage characters. (Bug ID 17064059, 17252160)
Due to a performance regression with some database applications, the transparent huge pages (THP) feature has been disabled. This change does not affect the use of managed huge pages. (Bug ID 16823432)
The kernel functionality (CONFIG_USER_NS
) that allows unprivileged
processes to create namespaces for users inside which they have root privileges is not
currently implemented. This functionality is primarily intended for use with Linux Containers.
As a result, the lxc-checkconfig command displays User namespace:
missing
. (Bug ID 16656850)
When booting UEK R3 as a PVHVM guest, you can safely ignore the following kernel message:
register_vcpu_info failed: err=-38
(Bug ID 13713774)
Under Oracle VM Server 3.1.1, migrating a PVHVM guest that is running the UEK R3 kernel causes a disparity between the date and time as displayed by date and hwclock. The workaround post migration is either to run the command hwclock --hctosys on the guest or to reboot the guest. (Bug ID 16861041)
On virtualized systems that are built on Xen version 3, including all releases of Oracle VM 2 including 2.2.2 and 2.2.3, disk synchronization requests for ext3 and ext4 file systems result in journal corruption with kernel messages similar to the following being logged:
blkfront: barrier: empty write xvda op failed blkfront: xvda: barrier or flush: disabled
In addition, journal failures such as the following might be reported:
Aborting journal on device xvda1
The workaround is to add the mount option barrier=0
to all ext3 and
ext4 file systems in the guest VM before upgrading to UEK R3. For example, you would
change a mount entry such as:
UUID=4e4287b1-87dc-47a8-b69a-075c7579eaf1 / ext3 defaults 1 1
so that it reads:
UUID=4e4287b1-87dc-47a8-b69a-075c7579eaf1 / ext3 defaults,barrier=0 1 1
This issue does not apply to Xen 4 based systems, such as Oracle VM 3. (Bug ID 17310816)
Some new features in XFS are not supported by the current xfsprogs
package. A new xfsprogs
package is targeted for the official release of UEK
R3.
The Unbreakable Enterprise Kernel Release 3 can be installed on Oracle Linux 6 Update 4 or newer, running either the Red Hat compatible kernel or a previous version of the Unbreakable Enterprise Kernel. If you are still running an older version of Oracle Linux, first update your system to the latest available update release.
The Unbreakable Enterprise Kernel Release 3 is supported on the x86_64 architecture but not on x86.
The kernel image and userland packages are available from the Oracle Public Yum repository at https://public-yum.oracle.com/beta/.
To enable access to the
packages, create an entry such as
the following in /etc/yum.conf
or in a repository file in the
/etc/yum.repos.d
directory:
[ol6_x86_64_UEK_BETA] name=Beta Unbreakable Enterprise Kernel Release 3 for Oracle Linux $releasever ($basearch) baseurl=https://public-yum.oracle.com/beta/repo/OracleLinux/OL6/uek3/$basearch/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=1 enabled=1
You can download a copy of a suitable repository file from https://public-yum.oracle.com/beta/, where you can also find more information about installing the software.
After enabling access to the repository, run yum update to upgrade the system to UEK R3.
If you have questions regarding configuring or using yum to install updates, refer to the Oracle Linux Administrator's Solutions Guide at http://docs.oracle.com/cd/E37670_01/index.html.
For information about using ULN, see the Oracle Linux Unbreakable Linux Network User's Guide at http://docs.oracle.com/cd/E37670_01/index.html.