GNU/Linux >> Tutoriales Linux >  >> Linux

Linux Kernel.org engañoso sobre el pánico del kernel

La fuente autorizada es la implementación en el núcleo, así que veamos eso primero.

El panic entrada en sysctl corresponde a una variable del kernel llamada panic_timeout . Este es un entero con signo, que se utiliza para controlar el comportamiento de pánico de la siguiente manera:

  • si panic_timeout es estrictamente positivo, el kernel espera después de un panic, por panic_timeout segundos;
  • si panic_timeout es distinto de cero, el núcleo se reinicia después de un pánico (después de esperar, si corresponde);
  • si el núcleo no se ha reiniciado, imprime un mensaje y se repite para siempre.

Entonces, la página de manual es correcta y la documentación del núcleo estaba incompleta; pero sysctl/kernel.rst ahora documentos panic con más detalle. Esto se solucionó en la versión 5.7-rc1 del kernel.


Entonces, ¿por qué tal una fuente confiable brinda tal ¿una información engañosa?

Primero, es solo un poco engañoso (prefieres llegar a una conclusión) que un error. Yo diría que kernel.org descuida el caso especial "0".

No conozco los detalles de kernel.org , pero en esencia es una mezcla del kernel oficial Documentation/ (formateado web, agrupado), además de información adicional. El mejor ejemplo es la lista de parámetros de arranque, que se "reúne" de diferentes lugares, como dicen ellos.

"kernel.org" enumera el enlace "Documentación" en "Otros recursos". Te lleva a doc/html/latest/ . También hay una mezcla de enlaces debajo de /doc .

Justo al principio, la documentación (con formato de esfinge) dice:

La documentación del kernel, como el propio kernel, es en gran medida un trabajo en progreso; eso es especialmente cierto a medida que trabajamos para integrar nuestros muchos documentos dispersos en un todo coherente. Tenga en cuenta que las mejoras en la documentación son bienvenidas.;...

El man 5 proc es parte de man-pages proyecto (o paquete), y está este tipo con el libro para aturdir a un buey que lo mantiene. Todas estas páginas tienen "COLOPHON" como subtítulo (sección) al final. También son heterogéneos, algunos recién recopilados (todas las páginas POSIX "1p") y otros escritos para llenar los vacíos.

En man7.org ves directamente la obra del Sr. Kerrisk; creo que hace un buen trabajo, vende su libro pero mantiene una colección de páginas man de código abierto.

Yo este caso, es más preciso. Ambos parecen estar relacionados, por supuesto ("Cuando... controlador de dispositivo... 60").

nosotros trabajar para integrar nuestra muchos documentos dispersos en un todo coherente.

Esto solo tiene sentido a medias. Cuyos documentos estaban dispersos , y por quien?

Mi pseudocódigo dice así:

if timeout > 0   then loop for 'timeout' seconds
if timeout != 0  then reboot
loop for ever

Lo que significa que un valor negativo es reinicio inmediato, y uno positivo tiene ambos si son verdaderos. Y el cero conduce directamente al ciclo final.


Linux
  1. ¿Un “pánico del núcleo”?

  2. Linux – Kernel:¿Soporte de espacios de nombres?

  3. Linux – ¿Reenvío de IP del kernel?

  4. Linux:¿un núcleo corrupto en Linux?

  5. Linux:¿compilar e instalar un kernel de Kernel.org en un volumen personalizado en el disco?

Comando Sysctl en Linux

30 hechos asombrosos sobre Linux que debes saber

¿Linux es un sistema operativo o un kernel?

Núcleo de Linux vs. Núcleo de Mac

Kernel de Linux y sus funciones

Qué hacer en caso de pánico en el kernel de Linux