Capítulo 6. Cambios importantes en los parámetros externos del núcleo
Este capítulo proporciona a los administradores de sistemas un resumen de los cambios significativos en el kernel distribuido con Red Hat Enterprise Linux 8.2. Estos cambios incluyen entradas proc
añadidas o actualizadas, valores por defecto de sysctl
y sysfs
, parámetros de arranque, opciones de configuración del kernel o cualquier cambio de comportamiento notable.
6.1. Nuevos parámetros del núcleo
- cpuidle.governor = [CPU_IDLE]
-
Nombre del gobernador
cpuidle
a utilizar. - deferred_probe_timeout = [KNL]
Este es un parámetro de depuración para establecer un tiempo de espera en segundos para que la sonda diferida deje de esperar a las dependencias para sondear.
Sólo se ignorarán las dependencias específicas (subsistemas o controladores) que hayan optado por la entrada. Un tiempo de espera de 0 se agotará al final de las
llamadas de entrada
. Este parámetro también descargará los dispositivos que sigan en la lista de sondas diferidas después de reintentar.- kvm.nx_huge_pages = [KVM]
Este parámetro controla la solución de software para el error
X86_BUG_ITLB_MULTIHIT
.Las opciones son:
-
force
- Siempre despliegue la solución. -
off
- No desplegar nunca la solución. -
auto
(por defecto) - Implementa una solución basada en la presencia deX86_BUG_ITLB_MULTIHIT
.
-
Si la solución de software está activada para el host, los huéspedes no necesitan activarla para los huéspedes anidados.
- kvm.nx_huge_pages_recovery_ratio = [KVM]
- Este parámetro controla la cantidad de páginas de 4KiB que se recuperan periódicamente a páginas enormes. El valor 0 desactiva la recuperación, de lo contrario, si el valor es N, la máquina virtual basada en el kernel (KVM) zappeará 1/ésimo de las páginas de 4KiB cada minuto. El valor por defecto es 60.
- page_alloc.shuffle = [KNL]
Bandera booleana para controlar si el asignador de páginas debe aleatorizar sus listas libres.
La aleatorización puede ser activada automáticamente si el kernel detecta que se está ejecutando en una plataforma con una caché del lado de la memoria con mapeo directo. Este parámetro puede utilizarse para anular/desactivar ese comportamiento.
El estado de la bandera se puede leer del pseudo sistema de archivos
sysfs
desde el archivo/sys/module/page_alloc/parameters/shuffle
.- panic_print =
Máscara de bits para imprimir información del sistema cuando se produce un pánico.
El usuario puede elegir la combinación de los siguientes bits:
- bit 0: imprimir la información de todas las tareas
- bit 1: imprimir información de la memoria del sistema
- bit 2: imprimir información del temporizador
-
bit 3: imprimir información sobre los bloqueos si la configuración del kernel
CONFIG_LOCKDEP
está activada -
bit 4: imprimir el buffer
ftrace
-
bit 5: imprimir todos los mensajes
printk
en el buffer
- rcutree.sysrq_rcu = [KNL]
-
Comandeer una clave
sysrq
para volcar el árbolrcu_node
de Tree RCU con el fin de determinar por qué un nuevo período de gracia aún no ha comenzado. - rcutorture.fwd_progress = [KNL]
- Habilitar la prueba de avance del periodo de gracia de la actualización de la copia de lectura (RCU) para los tipos de RCU que soportan esta noción.
- rcutorture.fwd_progress_div = [KNL]
- Especifique la fracción de un período de advertencia de parada de la CPU para realizar pruebas de avance en bucle cerrado.
- rcutorture.fwd_progress_holdoff = [KNL]
- Número de segundos de espera entre pruebas sucesivas de avance.
- rcutorture.fwd_progress_need_resched = [KNL]
-
Incluya las llamadas a
cond_resched(
) dentro de las comprobaciones deneed_resched()
durante las pruebas de avance de bucle cerrado. - tsx = [X86]
Este parámetro controla la función de Extensiones de Sincronización Transaccional (TSX) en los procesadores Intel que soportan el control TSX.
Las opciones son:
-
on
- Habilitar TSX en el sistema. Aunque existen mitigaciones para todas las vulnerabilidades de seguridad conocidas, TSX aceleró varios CVEs anteriores relacionados con la especulación. Como resultado, puede haber riesgos de seguridad desconocidos asociados a dejarla activada. -
off
- Desactivar TSX en el sistema. Esta opción sólo tiene efecto en las CPUs más nuevas que no son vulnerables al muestreo de datos de microarquitectura (MDS). En otras palabras, tienenMSR_IA32_ARCH_CAPABILITIES.MDS_NO=1
y obtienen el nuevo registro específico del modeloIA32_TSX_CTRL
(MSR) a través de una actualización del microcódigo. Este nuevo MSR permite una desactivación fiable de la funcionalidad TSX. -
auto
- Desactivar TSX siX86_BUG_TAA
está presente, en caso contrario activar TSX en el sistema.
-
No especificar este parámetro equivale a tsx=off
.
Para más detalles, consulte la documentación del kernel.
- tsx_async_abort = [X86,INTEL]
Este parámetro controla la mitigación de la vulnerabilidad TSX Async Abort (TAA).
Al igual que el muestreo de datos de la microarquitectura (MDS), ciertas CPU que soportan las extensiones de sincronización transaccional (TSX) son vulnerables a un exploit contra los búferes internos de la CPU. El exploit es capaz de enviar información a un gadget de divulgación bajo ciertas condiciones.
En los procesadores vulnerables, los datos reenviados especulativamente pueden utilizarse en un ataque de canal lateral de caché, para acceder a datos a los que el atacante no tiene acceso directo.
Las opciones son:
-
completo
- Activar la mitigación de TAA en las CPUs vulnerables si TSX está activado. -
full,nosmt
- Activa la mitigación de TAA y desactiva el Multi Threading Simultáneo (SMT) en las CPUs vulnerables. Si TSX está desactivado, SMT no se desactiva porque la CPU no es vulnerable a los ataques TAA de hilos cruzados. off
- Desactivar incondicionalmente la mitigación TAA.En las máquinas afectadas por MDS, el parámetro
tsx_async_abort=off
puede evitarse mediante una mitigación MDS activa, ya que ambas vulnerabilidades se mitigan con el mismo mecanismo. Por lo tanto, para desactivar esta mitigación, es necesario especificar también el parámetromds=off
.No especificar esta opción es equivalente a
tsx_async_abort=full
. En las CPUs que están afectadas por MDS y despliegan la mitigación de MDS, la mitigación de TAA no es necesaria y no proporciona ninguna mitigación adicional.
-
Para más detalles, consulte la documentación del kernel.