Ícono del sitio LQS

Linus Torvalds: Linux no tiene la culpa de los problemas del puerto de Google Stadia

Nota editorial (2025): publicado originalmente en 2020. Se añadió una versión estructurada con fines enciclopédicos. El texto original se conserva íntegro como parte del archivo histórico.

Impacto Negativo de los Spinlocks en Google Stadia

El artículo revela que el uso de spinlocks ha provocado retrasos visibles y sugiere un cambio hacia mutexes como solución. Esta petición para una respuesta rápida es algo esperada por algunos desarrolladores dentro de la comunidad Linux.

Investigación de Linus Torvalds

Phoronix publicó que el creador del kernel de Linux, Linus Torvalds, investigó este asunto y se refirió a la informe original como “pura basura”. Su punto era enfatizar cómo los tiempos medidos no corresponden al comportamiento real en cuanto al mantenimiento del bloqueo. Explicó que las mediciones incorrectas deben evitarse para una mejor comprensión, y subraya la importancia de usar blockings adecuados como mutexes cuando se espera un acceso concurrente. Torvalds enfatiza: “No use spinlocks en el espacio del usuario, a menos que realmente sabe lo que está haciendo”, sugiriendo una comprensión profunda de la lógica subyacente para evitar bloqueos ineficientes y poten01 

“Repito: no use spinlocks innecesariamente, y tenga presente que es poco probable que sepa lo que está haciendo”. Estas palabras de Torvalds reflejan la visión generalizada dentro del desarrollo para evitar el uso incorrecto o desnecessario de spinlocks.

Preguntas frecuentes


FAQs: Impact of Spinlocks on Google Stadia

¿Qué impacto han tenido los spinlocks en la experiencia de usuario del juego Stadia?
El uso de spinlocks ha provocado retrasos visibles, llevando a algunas personas a sugerir un cambio hacia mutexes para una respuesta más rápida.

¿Cuál es la posición actual del creador del kernel de Linux en cuanto al uso de spinlocks?
Linus Torvalds se refiere a las mediciones incorrectas como “pura basura” y enfatiza el manejo adecuado de bloqueos, sugiriendo la preferencia por mutexes sobre spinlocks en situaciones donde hay acceso concurrente.

¿Cómo recomienda Linus Torvalds solucionar los problemas causados por el uso inadecuado de spinlocks?
Torvalds sugiere que se deban evitar las mediciones incorrectas y usar blockings adecuados como mutexes, lo cual permite una programación más eficiente al notificar cuando un recurso ha sido liberado.

¿Es seguro el uso de spinlocks en Google Stadia?
El creador del kernel afirma que no usar spinlocks innecesariamente es incorrecto y puede disminuir las prestaciones, por lo tanto sugiere evitarlos cuando se espera acceso concurrente.

¿Cómo pueden mejorar los desarrolladores para minimizar el impacto de bloqueos ineficientes?
Los desarrolladores deben tener una comprensión profunda del lógica subyacente y evitar la utilización innecesaria o incorrecta de spinlocks, optando preferentemente por blockings como mutexes cuando sea necesario.


Texto original (2020)

El artículo discute el impacto negativo del uso de spinlocks en los juegos transmitidos por Google Stadia, señalando que pueden causar retrasos visibles y sugiriendo un cambio hacia mutexes para solucionarlo. La respuesta rápida a estos problemas es esperada por algunos desarrolladores dentro de la comunidad Linux. —

Hace unos días , supimos que el kernel de Linux podría ser responsable de los problemas de rendimiento en los títulos que se transfieren a la plataforma de transmisión de juegos Google Stadia, como detalla el desarrollador Malte Skarupke en una publicación de blog.

Sin embargo, Phoronix informó el domingo que el creador de Linux, Linus Torvalds, investigó el asunto y dijo con su franqueza característica que el informe de Skarupke era “pura basura”.

En resumen, tenía que ver con la forma en que el planificador maneja los spinlocks, y que su uso causaba largos bloqueos en la programación, lo que en consecuencia causaba retrasos en la representación de los marcos. Los puestos más largos duraron más de 100ms en spinlocks, lo que es demasiado tiempo para colgar cuando los marcos deben mostrarse a 30 o 60 fps.

Skarupke señaló que “la mayoría de las implementaciones de mutex son realmente buenas, que la mayoría de las implementaciones de spinlock son bastante malas y que el programador de Linux está bien pero lejos de ser ideal”, y decidió usar bloqueos de mutex en lugar de spinlocks para resolver el problema.

Los comentarios de Torvalds aparecieron en un hilo de correo electrónico y se leyeron como sigue.

” Toda la publicación parece estar equivocada, y está midiendo algo completamente diferente de lo que el autor piensa y afirma que está midiendo. En primer lugar, los spinlocks solo se pueden usar si realmente sabes que no estás programado mientras los usas … Básicamente, lee el tiempo antes de liberar el bloqueo, y luego lo lee después de volver a adquirir el bloqueo, y afirma que la diferencia horaria es el momento en que no se mantuvo ningún bloqueo. Lo cual es simplemente inútil e inútil y completamente incorrecto. Eso es pura basura. ”  .

La solución de Torvalds sugiere a los desarrolladores ” Use un candado donde le diga al sistema que está esperando el candado, y donde el hilo de desbloqueo le avisará cuando haya terminado, para que el programador pueda trabajar con usted, en lugar de (al azar ) trabajando en su contra … Repito: no use spinlocks en el espacio del usuario, a menos que realmente sepa lo que está haciendo. Y tenga en cuenta que la probabilidad de que sepa lo que está haciendo es básicamente nula ” .

Esto esencialmente significa que el descubrimiento de Skarupke de que los spinlocks no son ideales para usar en este escenario es, a todos los efectos, correcto. El problema es que los desarrolladores no deberían haber estado usando spinlocks en primer lugar, por lo que en lo que respecta a Linus Torvalds, no fue el culpable del programador de Linux, sino los enfoques de los desarrolladores para usarlo.

Por supuesto, tendremos que ver si esta nueva información realmente ayuda a los desarrolladores a resolver los problemas que han tenido con sus puertos Stadia.

Traducido del inglés de Tom’s Hardware ©

Salir de la versión móvil