Hiện có một bản vá bộ lập lịch nhân Linux được xếp hàng đợi thông qua nhánh lịch trình/lõi của TIP có thể giúp lập lịch tác vụ trên bộ xử lý AMD có nhiều bộ nhớ đệm cấp cuối (bộ nhớ cache LLC/bộ nhớ cache L3) trên mỗi khuôn. Cải tiến nhỏ này được đưa ra sau khi một nhà phát triển nhân Linux phát hiện ra máy tính để bàn AMD Zen 2 của anh ấy.
Thay đổi này nên được hợp nhất cho Linux 6.5 ngay bây giờ vì nó nằm trong nhánh lịch trình/lõi của tip/tip.git là một triển khai select_idle_sibling() nhận biết nhiều LLC. Hiện tại, khi bộ lập lịch tìm kiếm một CPU nhàn rỗi trong miền bộ lập lịch, nó sẽ không tìm kiếm bên ngoài nhóm lõi hiện tại chia sẻ một LLC. Nhưng bây giờ với phiên bản nhiều LLC này, nó sẽ xem xét các LLC khác nếu LLC cục bộ trống.
Bản vá của kỹ sư nhân Linux lâu năm Peter Zijlstra giải thích:
sched/fair: Multi-LLC select_idle_sibling()
[Nhà phát triển Linux Tejun Heo] đã báo cáo rằng khi anh ấy nhắm mục tiêu hàng đợi công việc tới một LLC cụ thể trên máy Zen2 của mình với tổng cộng 3 lõi/LLC và 4 LLC, anh ấy sẽ có thời gian nhàn rỗi đáng kể.
Tất nhiên, đây là do cách select_idle_sibling() sẽ không xem xét bất kỳ thứ gì bên ngoài LLC cục bộ và vì tất cả các tác vụ này đều chạy trong thời gian ngắn nên bộ cân bằng tải nhàn rỗi định kỳ không hiệu quả.
Và mặc dù giữ bộ đệm công việc cục bộ là tốt, nhưng tốt hơn hết là bạn không nên có thời gian nhàn rỗi đáng kể. Do đó, hãy để select_idle_sibling() thử các LLC khác bên trong cùng một nút khi nút cục bộ trống.
Những người có hệ thống AMD hiện đại nói riêng và muốn thử nghiệm bản vá này trước thời gian dự kiến Cửa sổ hợp nhất Linux 6.5 có thể tìm thấy nó qua nhánh lịch trình/lõi.