Ada tambalan penjadwal kernel Linux yang sekarang diantrekan melalui cabang sched/core TIP yang dapat membantu penjadwalan tugas pada prosesor AMD yang menggunakan beberapa cache tingkat terakhir (cache LLC/L3) per die. Peningkatan kecil ini terjadi setelah ditemukan oleh pengembang kernel Linux di desktop AMD Zen 2 miliknya.

Perubahan ini yang seharusnya digabungkan untuk Linux 6.5 sekarang karena berada di cabang sched/core tip/tip.git adalah implementasi select_idle_sibling() multi-LLC-aware. Saat ini, saat penjadwal mencari CPU yang menganggur di domain penjadwal, penjadwal tidak akan mencari di luar grup inti saat ini yang berbagi LLC. Tetapi sekarang dengan versi multi-LLC ini, ia akan mempertimbangkan LLC lain jika LLC lokal kosong.

Patch oleh insinyur kernel Linux lama Peter Zijlstra menjelaskan:

sched/fair: Multi-LLC select_idle_sibling()

[Pengembang Linux Tejun Heo] melaporkan bahwa ketika dia menargetkan antrian kerja menuju LLC tertentu pada mesin Zen2 miliknya dengan total 3 core/LLC dan 4 LLC, dia mendapatkan waktu idle yang signifikan.

Ini tentu saja karena cara select_idle_sibling() tidak akan mempertimbangkan apa pun di luar LLC lokal, dan karena semua tugas ini berjalan singkat, penyeimbang beban menganggur berkala tidak efektif.

Dan meskipun baik untuk menyimpan cache kerja secara lokal, lebih baik tidak memiliki waktu menganggur yang signifikan. Oleh karena itu, minta select_idle_sibling() coba LLC lain di dalam node yang sama ketika yang lokal muncul kosong.

Mereka yang memiliki sistem AMD modern khususnya dan ingin menguji tambalan ini sebelum yang diharapkan Jendela penggabungan Linux 6.5 dapat menemukannya melalui cabang sched/inti.

Categories: IT Info