Pembaikan sedang dalam perjalanan ke kernel Linux 6.4 talian utama dan juga ditandakan untuk pemindahan belakang ke siri kernel stabil sedia ada untuk membetulkan pelaporan topologi x86 untuk sistem Intel Hybrid. Pepijat topologi dalam kernel menjadi lebih ketara untuk komputer riba Meteor Lake di mana komputer riba ujian dalaman Intel pada masa ini boleh melaporkan sistem yang mempunyai 11 soket CPU dan bukannya bilangan teras yang sepatutnya semua terkandung dalam satu soket CPU.
Walaupun reka bentuk CPU hibrid Intel adalah perkara biasa sejak lewat 2021, kernel Linux hingga ke tahap ini tidak mengendalikan pembolehubah”smp_num_siblings”dengan betul yang seterusnya disebarkan ke ruang pengguna dan akhirnya boleh melaporkan maklumat yang salah. Dalam kes platform Intel Meteor Lake P yang akan datang, kernel Linux hingga ke tahap ini dengan arahan lscpu biasa akan melaporkan terdapat 11 soket CPU kepada sistem setiap satu dengan teras tunggal. Sebenarnya ia adalah komputer riba soket tunggal yang mempunyai 16 jumlah teras.
Selain maklumat yang salah disebarkan ke ruang pengguna untuk tujuan maklumat, pengendalian smp_num_siblings yang tidak betul ini akhirnya boleh menyebabkan kesan pada keputusan penjadual kernel Linux. Seperti yang diulas oleh jurutera Intel Zhang Rui,”Ini juga dijangka membuatkan penjadual melakukan perkara-perkara yang agak bodoh juga.”
Beliau menjelaskan lebih lanjut dengan yang belum selesai ini./a>:
“Secara tradisional , semua CPU dalam sistem mempunyai bilangan adik beradik SMT yang sama. Itu berubah dengan pemproses hibrid di mana sesetengah CPU logik mempunyai adik beradik dan yang lain tiada.
Hari ini, kod but CPU menetapkan pembolehubah global smp_num_siblings apabila setiap utas CPU dibawa ke atas. Benang terakhir untuk but akan menimpanya dengan bilangan adik beradik bagi *benang* itu. Benang terakhir untuk but akan”menang”. Jika utas itu ialah Pcore, smp_num_siblings==2. Jika ia adalah Ecore, smp_num_siblings==1.
smp_num_siblings menerangkan jika *sistem* menyokong SMT. Ia harus menentukan bilangan maksimum utas SMT antara semua teras.
Pastikan smp_num_siblings mewakili maksimum seluruh sistem bilangan adik beradik dengan sentiasa meningkatkan nilainya. Jangan sesekali biarkan ia berkurangan.
Pada platform MeteorLake-P, ini menyelesaikan masalah bahawa CPU Ecore tidak dikemas kini dalam mana-mana peta adik-beradik cpu kerana sistem itu dianggap sebagai sistem UP semasa menyelidik CPU Ecore.”
Tampalan itu telah diambil semalam oleh cawangan x86/urgent TIP. Seterusnya ini akan diserahkan kepada kernel Linux 6.4 mungkin pada hujung minggu sebagai pembetulan segera. Tampalan itu juga ditandakan untuk pemindahan balik ke Linux sedia ada versi stabil kernel untuk memastikan kiraan adik beradik SMP dilaporkan dengan betul pada platform hibrid Intel.