Compilando el kernel 3.12.12

Llevo sin cambiar de kernel desde el 3.12.9, ya iba siendo hora de hacerlo:

$ time fakeroot make-kpkg -j4 --initrd --revision=3.12.12+1 --append-to-version=-amd64 kernel_image kernel_headers
real    12m36.672s
user    29m35.256s
sys     2m2.212s

La rama 3.12.x aun no ha sido declarada EOL, lo cual es raro ya que a estas alturas de minor version es cuando suele pasar. Además, en la rama 3.13.x ya estamos en la 3.13.4.

Por mi parte ya no tengo nada que me bloquee el salto a los 3.13, ya que el reciente driver 331.49 de NVIDIA los soporta sin tener que aplicar parches oficiosos (no es por hacer de menos el trabajo de nadie, pero los parches hechos ad-hoc para que el módulo compile o cargue suelen ser apaños más que otra cosa; inconvenientes de tener un driver cerrado que nadie más sabe cómo funciona realmente).

Crash cpufreq del modulo NVIDIA

(Ver aquí para saber de qué hablo)

El kernel 3.12.9 lo he tenido desde el 27 de enero, o sea 25 días (unos 75 arranques). En ese periodo se han producido 5 crashes (un 6,66%), en fechas 30 y 31 de enero, 1, 13 y 16 de febrero. La ocurrencia, como véis, es completamente aleatoria, no se puede deducir nada por ahí.

El fichero drivers/cpufreq/cpufreq.c es el mismo en la 3.12.12 que en la 3.12.9, así que por ese lado no va a haber ningún cambio. Lo único que podría cambiar es que en este último driver de NVIDIA lo hubieran arreglado, pero en la lista de cambios no hay nada que remotamente lo sugiera. Así que, si vuelve a suceder, lo que me queda es mirar hacia el kernel a ver si se puede hacer algo. En la lista Linux CPU Freq andan discutiendo varios parches que no me extrañaría que tuvieran que ver (por ejemplo este cpufreq: Return error if ->get() failed in cpufreq_update_policy()), pero estos parches ni siquiera han entrado en la ventana de merge del kernel 3.14. Y tampoco sé si alguno de ellos lo soluciona.

Lo único que sé seguro que es un bug que se ha introducido con la rama 3.12.x (la primera vez que me ocurrió fue con la 3.12.1, que es el primer kernel de esta rama que he usado), así que me tocará rastrear la historia de cambios de drivers/cpufreq/cpufreq.c y sobre todo de cpufreq_get() desde los 3.11.x en adelante y a ver si suena la flauta. Parece que toca poner a prueba mi git-fu...

:wq

blogroll

social