Ответы:
Независимо от того, является ли ядро вытесняющим или нет, зависит от того, что вы хотите выгрузить, как в ядре Linux, есть разные вещи, которые могут включать / отключать вытеснение отдельно.
Если в вашем ядре включено CONFIG_IKCONFIGи CONFIG_IKCONFIG_PROCвключено, вы можете узнать конфигурацию с вытеснением через /proc/config.gz(если у вас ее нет, некоторые дистрибутивы поставляют конфигурацию ядра /boot):
$ 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
Если у вас есть CONFIG_IKCONFIG, но нет CONFIG_IKCONFIG_PROC, вы все равно можете получить его из образа ядра с помощью extract-ikconfig.
Преобразуемое ядро (рабочий стол с низкой задержкой) PREEMPTпомечено в имени своей версии ( uname -a). Это также появляется в /proc/versionи в строке «version magic», используемой для определения, можно ли / нельзя загружать модули в данное ядро, например
mymodule: version magic '3.4.35 mod_unload ARMv7 p2v8 '
should be '3.4.35 preempt mod_unload ARMv7 p2v8 '
Таких тегов не существует CONFIG_PREEMPT_VOLUNTARY, afaik.