Apakah sebuah kernel preemptive atau tidak tergantung pada apa yang ingin Anda preemptive, seperti pada kernel Linux, ada berbagai hal yang dapat mengaktifkan/menonaktifkan preemption secara terpisah.
Jika kernel Anda memiliki CONFIG_IKCONFIG dan CONFIG_IKCONFIG_PROC diaktifkan, Anda dapat mengetahui konfigurasi preemption Anda melalui /proc/config.gz (jika Anda tidak memiliki ini, beberapa distribusi mengirimkan konfigurasi kernel di /boot sebagai gantinya):
$ gzip -cd /proc/config.gz | grep PREEMPT
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PREEMPT_TRACER is not set
Jika Anda memiliki CONFIG_IKCONFIG , tetapi bukan CONFIG_IKCONFIG_PROC , Anda masih bisa mengeluarkannya dari imej kernel dengan extract-ikconfig .
Kernel yang dapat diakhiri (desktop latensi rendah) memiliki PREEMPT diberi tag dalam nama versinya (uname -a ). Ini juga muncul di /proc/version dan dalam string "sihir versi" yang digunakan untuk memutuskan apakah modul dapat/tidak dapat dimuat pada kernel tertentu, mis.
mymodule: version magic '3.4.35 mod_unload ARMv7 p2v8 '
should be '3.4.35 preempt mod_unload ARMv7 p2v8 '
Tidak ada penandaan seperti itu untuk CONFIG_PREEMPT_VOLUNTARY , afaik.