Linus Torvalds mengatakan tuduhan kernel Linux di Google Stadia adalah "sampah murni"

Minggu lalu seorang pengembang menyalahkan kernel Linux untuk masalah saat porting game ke platform game Google Cloud, Stadia, dan tentu saja, pencipta Linux, Linus Torvalds, dia ingin mengambil langkah maju dan seperti biasa dalam dirinya, dia sangat jelas dengan pernyataannya, menunjukkan bahwa tuduhan ini adalah "sampah murni"Dan pada dasarnya menunjukkan bahwa masalah sebenarnya adalah itu pengembang ini tidak tahu bagaimana melakukan pekerjaan mereka sendiri dengan baik.

Google Stadia Pro 1 740x354 0

Malte Skarupke Itu adalah orang yang mengajukan keluhan, yang dengan cepat menjadi viral, menunjukkan bahwa pasangannya mengeluh tentang kernel Linux ketika porting RAGE 2 ke Google Stadiadan apa Linux menghadirkan masalah saat menggunakan spinlocks (Ini memblokir sumber daya sehingga tidak dapat dimodifikasi oleh proses perangkat lunak kedua secara bersamaan, memaksa proses baru untuk mengulang sampai sumber daya awal gratis dan yang baru dimulai), jadi itu menunjukkan bahwa implementasi spinlocks oleh Linux adalah "sangat buruk", yang menyebabkan latensi yang lebih besar.

"Spinlock bebas untuk dipilih, tetapi utas membutuhkan beberapa milidetik untuk menangkapnya. Dalam permainan video, di mana Anda harus mendapatkan bingkai setiap 16ms atau 33ms (tergantung pada apakah Anda bermain pada 60 Hz atau 30 Hz), penghentian yang membutuhkan lebih dari satu milidetik sangat buruk. Terutama jika Anda benar-benar menghentikan semua utas. "

Solusi yang ditawarkan oleh Linus Torvalds cukup sederhana untuk dipahami:

"Seluruh posting tampaknya salah, dan mengukur sesuatu yang sama sekali berbeda dari apa yang penulis pikirkan dan katakan dia mengukur. Pertama, spinlocks hanya dapat digunakan jika Anda benar-benar tahu bahwa itu tidak diprogram saat Anda menggunakannya… Pada dasarnya membaca waktu sebelum melepaskan blok, dan kemudian membacanya setelah memperoleh blok lagi, dan menyatakan bahwa perbedaan waktu adalah waktu blok itu tidak dipertahankan, yang hanya berguna dan tanpa merasa dan sepenuhnya salah. Itu murni omong kosong.

Gunakan spinlock di mana Anda memberi tahu sistem bahwa Anda sedang menunggu spinlock, dan di mana utas pembuka memberi tahu Anda ketika sudah siap, sehingga perencana proses dapat benar-benar bekerja dengan Anda, alih-alih (secara acak) bekerja melawan Anda … Saya ulangi: jangan gunakan spinlocks di ruang pengguna, kecuali jika Anda benar-benar tahu apa yang Anda lakukan. Dan perlu diingat bahwa kemungkinan Anda tahu apa yang Anda lakukan pada dasarnya adalah nol".

via: Perangkat Keras Tom

Pos terkait

Back to top button