Linux Kernel

最後更新: 2018-03-12



Tainted kernels


When the kernel is tainted, it means that it is in a state that is "not supported by the community".

(In most cases involving proprietary drivers)

The feature is intended to identify conditions which may make it difficult to properly troubleshoot a kernel problem.

=>  unknown reasons for it to be unreliable, and that debugging it may be difficult or impossible.

The string is followed by a series of position-sensitive characters


G if all modules loaded have a GPL or compatible license,

P if any proprietary module has been loaded.
Modules without a MODULE_LICENSE or with a MODULE_LICENSE that is not recognised by insmod as GPL compatible are assumed to be proprietary.

F if any module was force loaded by insmod -f, ' ' if all modules were loaded normally.

R if a module was force unloaded by rmmod -f, ' ' if all modules were unloaded normally.

B if a page-release function has found a bad page reference or some unexpected page flags.

U if a user or user application specifically requested that the Tainted flag be set

D if the kernel has died recently, i.e. there was an OOPS or BUG.

A if the ACPI table has been overridden.

O if an externally-built (“out-of-tree”) module has been loaded.

E if an unsigned module has been loaded in a kernel supporting module signature.

L if a soft lockup has previously occurred on the system.

K if the kernel has been live patched.



bug soft lockup cpu 0 stuck for 61s


Many Linux kernels have a soft lockup watchdog thread,

and report soft lockup messages if that watchdog thread does not get scheduled for more than 10 seconds.

On a physical host, a soft lockup message generally indicates a kernel bug or hardware bug.

When running in a virtual machine, this might instead indicate high levels of overcommitment (especially memory overcommitment) or

other virtualization overheads.


The soft lockup messages are not kernel panics, and generally appears when the virtual machine is using a large amount of its resources.

To stop the error messages from appearing as frequently:

Some kernels allow you to adjust the soft lockup threshold by running the command:

echo time > /proc/sys/kernel/softlockup_thresh

Where time is the number of seconds after which a soft lockup is reported. The default is generally 10 seconds.


Kernel thread



a kernel thread related to block I/O

bio = block I/O