Insinyur Red Hat bekerja untuk mengatasi Indirect Branch Restricted Speculation (IBRS) yang terlalu mahal untuk mengurangi Spectre V2 dan Retbleed pada prosesor Intel Xeon Scalable yang lebih lama. Sebuah tambalan baru telah diluncurkan untuk menonaktifkan IBRS saat menganggur dan bekerja dengan baik setidaknya untuk Red Hat Enterprise Linux 9 sementara belum jelas apakah itu akan diterima ke dalam kernel upstream.

Patch dari Red Hat’s Waiman Long menjelaskan kesulitan yang masih mereka hadapi seputar Intel IBRS untuk menangani Spectre dan Retbleed:

Untuk prosesor Intel yang perlu mengaktifkan IBRS untuk melindungi dari Spectre v2 dan Retbleed, bit IBRS di MSR SPEC_CTRL memengaruhi kinerja seluruh inti meskipun hanya satu utas yang menyalakannya saat berjalan di kernel. Untuk aplikasi berat ruang pengguna, dampak kinerja dari sesekali mengaktifkan IBRS selama syscall seharusnya tidak signifikan. Sayangnya, hal itu tidak terjadi ketika sibling thread sedang menganggur di kernel. Dalam hal ini, dampak kinerja dapat menjadi signifikan.

Ketika DPDK berjalan pada paket jaringan pemrosesan utas CPU terisolasi di ruang pengguna saat utas saudaranya menganggur. Performa thread DPDK sibuk dengan IBRS aktif dan nonaktif di thread sibling idle adalah:

IBRS aktif IBRS nonaktif
—————
paket/detik: 7,8M 10,4M
siklus tsc rata-rata/paket: 282,26 209,86

Ini adalah penurunan kinerja sebesar 25%. Sistem pengujian adalah Intel Xeon 4114 CPU @ 2.20GHz.

Seri tambalan ini mematikan IBRS ketika dalam berbagai mode diam untuk menghilangkan dampak kinerja dari utas diam pada utas saudaranya yang sibuk.

Aduh, hit 25% pada Xeon Scalable Skylake untuk Data Plane Development Kit (DPDK) sumber terbuka.
Ada utas kernel ini tempat tambalan untuk menonaktifkan IBRS saat tidak digunakan sedang diapungkan. Insinyur Intel Linux terkemuka Peter Zijlstra telah menyarankan tambalan lain yang saat ini tidak di-porting ke RHEL9. Selain itu, kemungkinan menggunakan Call Depth Stuff/Tracking daripada IBRS. Dalam pengujian saya, Pelacakan Kedalaman Panggilan yang ditemukan di Linux 6.2+ jalur utama memang menawarkan untuk membantu memulihkan beberapa kinerja yang hilang pada CPU era Intel Skylake yang mengandalkan IBRS. Jadi kita akan melihat ke mana aktivitas kernel upstream berjalan atau jika Red Hat akhirnya hanya membawa tambalan ini sebagai bagian dari kernel RHEL9 mereka untuk saat ini hingga mem-back-port opsi baru. Bagaimanapun, utas milis kernel terbaru ini terus menunjukkan kesulitan mitigasi yang masih dialami oleh pengguna Linux perusahaan pada pertengahan 2023 pada platform yang lebih lama.

Categories: IT Info