Saya memiliki sistem Linux di mana kami telah menggunakan cgroup untuk membuat dua cpu_exclusive cpusets, A dan B, dan di mana kami telah memigrasikan semua utas pengguna dan semua utas kernel tidak terikat ke cgroup yang melekat pada cpuset A. Hal-hal yang berjalan di cpuset A memiliki berbagai kebijakan penjadwal dan berbagai prioritas, dan ada lebih banyak utas berjalan di cpuset A daripada ada core di cpuset A.
Ada juga sejumlah kecil proses yang sangat aktif yang melekat pada cpuset B, di mana jumlah utas pengguna di seluruh proses ini tidak pernah lebih besar dari jumlah inti yang tersedia secara eksklusif di cpuset B. Tujuannya adalah untuk melindungi tugas-tugas penting ini yang berjalan di cpuset B dari aktivitas lain pada mesin dan untuk meminimalkan latensi pemrosesan.
Dalam pengaturan seperti itu, apakah kebijakan penjadwalan / prioritas utas pengguna yang berjalan di cpuset B memiliki efek yang dapat diamati? Dinyatakan secara berbeda: apakah akan mengubah kebijakan penjadwalan utas cpuset B dari SCHED_OTHER default menjadi SCHED_FIFO atau SCHED_RR memiliki konsekuensi, baik atau buruk?
Sepertinya jawabannya harus 'tidak', karena penjadwal harus dapat menetapkan setiap utas berjalan di cpuset B inti yang didedikasikan, sehingga tidak ada yang memprioritaskan atau menjadwalkan, sehingga kebijakan dan prioritas relatif dari B utas cpuset tidak masalah. Di sisi lain, ada beberapa thread kernel terikat dan aspek 'domain penjadwal' yang perlu dikhawatirkan, dan mungkin hal-hal lain yang belum saya pertimbangkan.
Apakah kebijakan penjadwalan dan prioritas utas berjalan dalam masalah cpuset eksklusif yang terlalu banyak tersedia dalam arti praktis?