El creador de Linux califica de «basura» las acusaciones que culpan a su kernel de los problemas de rendimiento de Google Stadia

el-creador-de-linux-califica-de-«basura»-las-acusaciones-que-culpan-a-su-kernel-de-los-problemas-de-rendimiento-de-google-stadia

El creador de Linux califica de

«Pura basura». Así ha calificado Linus Torvalds las acusaciones vertidas el pasado día 30 de enero por el desarrollador Malte Skarupke desde su blog, en las que señala al planificador de procesos del kernel de Linux como responsable de los problemas de rendimiento mostrados por la plataforma de cloud gaming Google Stadia, puesto que sus servidores funcionan con el sistema operativo libre por excelencia.

Skarupke relata que, en su lugar de trabajo, oyó a alguien «quejándose de unos misteriosos problemas surgidos mientras trataba de portar ‘Rage 2’ a Google Stadia. Lo único que tenían en común esos misteriosos problemas era que todos ellos utilizaban spinlocks«.


Pero ¿qué es un spinlock? ¿Reside realmente ahí el problema?

Un ‘spinlock’ es un mecanismo del sistema que evita que un recurso compartido pueda ser modificado por dos más procesos del software simultáneamente; su papel es hacer que, si está ‘ocupado’, los nuevos procesos entren en un bucle de espera hasta que el primer proceso lo deje libre.

Programando módulos para el Kernel de Linux. Concurrencia en el Kernel

En Genbeta

Programando módulos para el Kernel de Linux. Concurrencia en el Kernel

Según Skarupke, tras meses de investigación ha llegado a la conclusión de que la implementación de los spinlock del planificador de Linux es «bastante mala», y provoca que los procesos tengan que esperar varios milisegundos para tomar el control de un spinlock.

«En un videojuego, donde tienes que generar una imagen en pantalla cada 16 o 33 milisegundos (dependiendo de si se está ejecutando a 60Hz o a 30Hz), que algo así lleve más de un milisegundo es terrible».

Ante la gran difusión que han tenido, Torvalds, creador y responsable del desarrollo del kernel de Linux, ha querido contestar personalmente a Skarupke, de forma bastante contundente:

«Todo el post parece estar mal planteado, y pretende medir algo totalmente diferente al tema que el autor está abordando. […] El código usado está lleno de basura».

Para solucionar el problema que denuncia Skarupke, Torvalds sugiere que los desarrolladores usen

«un sistema de bloqueo que le diga al sistema que queda a la espera, en el que el hilo de desbloqueo le haga saber cuándo está listo. Así el planificador [de procesos] trabajará con ellos, en lugar de en su contra. Repito: no utilicéis spinlocks en el espacio de usuario, a menos que realmente sepas lo que estás haciendo. Y debes tener en cuenta que la probabilidad de que lo sepáis tiende a cero».

Imagen | Marcos Merino, basada en original de Marco Verch


La noticia

El creador de Linux califica de «basura» las acusaciones que culpan a su kernel de los problemas de rendimiento de Google Stadia

fue publicada originalmente en

Genbeta

por
Marcos Merino

.