Jurutera Red Hat sedang berusaha untuk menangani Spekulasi Terhad Cawangan Tidak Langsung (IBRS) yang terlalu mahal untuk mengurangkan Spectre V2 dan Retbleed pada pemproses Intel Xeon Scalable yang lebih lama. Tampalan baharu telah diapungkan untuk melumpuhkan IBRS apabila melahu dan berfungsi dengan baik sekurang-kurangnya untuk Red Hat Enterprise Linux 9 sementara masih belum jelas sama ada ia akan diterima ke dalam kernel huluan.
Tampalan daripada Waiman Long Red Hat menerangkan kesakitan yang masih mereka hadapi di sekitar Intel IBRS untuk menangani Spectre dan Retbleed:
Untuk pemproses Intel yang perlu menghidupkan IBRS untuk melindungi daripada Spectre v2 dan Retbleed, bit IBRS dalam SPEC_CTRL MSR menjejaskan prestasi keseluruhan teras walaupun hanya satu utas yang menghidupkannya apabila dijalankan dalam kernel. Untuk aplikasi berat ruang pengguna, kesan prestasi menghidupkan IBRS sekali-sekala semasa syscall seharusnya tidak ketara. Malangnya, itu tidak berlaku apabila benang adik-beradik melahu dalam kernel. Dalam kes itu, kesan prestasi boleh menjadi ketara.
Apabila DPDK berjalan pada rangkaian CPU terpencil memproses paket rangkaian dalam ruang pengguna semasa benang adik-beradiknya melahu. Prestasi rangkaian DPDK yang sibuk dengan IBRS hidup dan mati dalam rangkaian terbiar adik-beradik ialah:
IBRS pada IBRS dimatikan
—————
paket/saat: 7.8M 10.4M
purata tsc kitaran/paket: 282.26 209.86Ini ialah penurunan prestasi sebanyak 25%. Sistem ujian ialah CPU Intel Xeon 4114 @ 2.20GHz.
Siri tampung ini mematikan IBRS apabila dalam pelbagai mod melahu untuk menghapuskan kesan prestasi utas melahu pada utas adik-beradiknya yang sibuk.
Aduh, 25% pukulan pada Xeon Scalable Skylake untuk Kit Pembangunan Pesawat Data (DPDK) sumber terbuka.
Terdapat benang kernel ini di mana tampung untuk melumpuhkan IBRS apabila melahu sedang diapungkan. Jurutera Intel Linux terkemuka Peter Zijlstra telah mencadangkan satu lagi tampung yang pada masa ini tidak dialihkan semula ke RHEL9. Selain itu, kemungkinan menggunakan Bahan/Penjejakan Kedalaman Panggilan dan bukannya IBRS. Dalam ujian saya, Penjejakan Kedalaman Panggilan yang terdapat dalam talian utama Linux 6.2+ sememangnya menawarkan untuk membantu memulihkan beberapa prestasi yang hilang pada CPU era Skylake Intel yang sebaliknya bergantung pada IBRS. Oleh itu, kita akan melihat ke mana perginya aktiviti kernel huluan atau jika Red Hat akhirnya hanya membawa patch ini sebagai sebahagian daripada kernel RHEL9 mereka buat masa ini sehingga mengalih belakang sebarang pilihan baharu. Walau apa pun, utas senarai mel kernel terbaharu ini terus menunjukkan kesakitan pengurangan yang masih dialami oleh pengguna Linux perusahaan pada pertengahan 2023 pada platform yang lebih lama.