Tôi có một hệ thống Linux, nơi chúng tôi đã sử dụng các nhóm để tạo hai cpu_exinating, A và B, và chúng tôi đã di chuyển tất cả các luồng người dùng và tất cả các luồng nhân không liên kết sang một nhóm được gắn vào cpuset A. Mọi thứ chạy trong cpuset A có các chính sách lập lịch khác nhau và các ưu tiên khác nhau, và có nhiều luồng chạy trong cpuset A hơn so với các lõi trong cpuset A.
Ngoài ra còn có một số lượng nhỏ các quy trình rất tích cực được gắn vào cpuset B, trong đó tổng số luồng người dùng trên các quy trình này không bao giờ lớn hơn số lượng lõi có sẵn trong cpuset B. Mục tiêu là để bảo vệ các tác vụ quan trọng này đang chạy trong cpuset B từ hoạt động khác trên máy và để giảm thiểu độ trễ xử lý.
Trong một thiết lập như vậy, chính sách lập lịch / mức độ ưu tiên của các luồng người dùng đang chạy trong cpuset B có ảnh hưởng gì không? Nói cách khác: việc thay đổi chính sách lập lịch của các luồng B cpuset từ SCHED_OTHER mặc định sang SCHED_FIFO hoặc SCHED_RR có bất kỳ hậu quả nào, tốt hay xấu?
Có vẻ như câu trả lời là 'không', vì bộ lập lịch sẽ có thể gán từng luồng chạy trong lõi riêng của cpuset B, do đó, sẽ không có gì để ưu tiên hoặc lên lịch, và vì vậy chính sách và mức độ ưu tiên tương đối của B chủ đề cpuset sẽ không quan trọng. Mặt khác, có các luồng nhân bị ràng buộc và các khía cạnh domain tên miền lập lịch 'phải lo lắng, và có lẽ những điều khác tôi chưa xem xét.
Các chính sách lập lịch và các ưu tiên của các luồng chạy trong một cpuset độc quyền được cung cấp quá mức theo bất kỳ ý nghĩa thực tế nào?