ฉันมีระบบลีนุกซ์ที่เราใช้ cgroups เพื่อสร้างสอง cpu_exclusive cpusets, A และ B และที่ที่เราโอนย้ายเธรดผู้ใช้ทั้งหมดและเคอร์เนลเธรดที่ไม่ได้ผูกทั้งหมดไปยัง cgroup ที่แนบกับ cpuset A สิ่งที่ทำงานใน cpuset A มีนโยบายที่แตกต่างกัน และลำดับความสำคัญที่แตกต่างกันและมีหลายเธรดที่ทำงานอยู่ใน cpuset A มากกว่าที่มีแกนใน cpuset A
นอกจากนี้ยังมีโพรเซสที่ใช้งานอยู่จำนวนเล็กน้อยที่เชื่อมต่อกับ cpuset B ซึ่งจำนวนเธรดผู้ใช้ทั้งหมดในกระบวนการเหล่านี้ไม่เคยมากกว่าจำนวนคอร์ที่มีเฉพาะใน cpuset B เป้าหมายคือเพื่อป้องกันงานสำคัญเหล่านี้ที่ทำงานใน cpuset B จากกิจกรรมอื่น ๆ บนเครื่องและเพื่อลดความหน่วงในการประมวลผล
ในการตั้งค่าเช่นนี้นโยบายการกำหนดเวลา / ลำดับความสำคัญของเธรดผู้ใช้ที่ทำงานใน cpuset B มีผลที่สังเกตได้หรือไม่? ระบุไว้แตกต่างกัน: จะเปลี่ยนนโยบายการตั้งเวลาของเธรด B cpuset จาก SCHED_OTHER เริ่มต้นเป็น SCHED_FIFO หรือ SCHED_RR มีผลกระทบใด ๆ ดีหรือไม่ดี
ดูเหมือนว่าคำตอบควรเป็น 'ไม่' เนื่องจากตัวกำหนดตารางเวลาควรสามารถกำหนดแต่ละเธรดที่ทำงานใน cpuset B ของแกนหลักเฉพาะของตัวเองดังนั้นจึงไม่มีอะไรจะจัดลำดับความสำคัญหรือกำหนดเวลาดังนั้นนโยบายและลำดับความสำคัญสัมพัทธ์ของ B หัวข้อ cpuset จะไม่สำคัญ ในทางตรงกันข้ามมีเคอร์เนลที่ถูกผูกไว้และแง่มุม 'โดเมนของตัวกำหนดตารางเวลา' ที่ต้องกังวลและอาจเป็นอย่างอื่นที่ฉันไม่ได้พิจารณา
นโยบายการกำหนดตารางเวลาและลำดับความสำคัญของเธรดที่ทำงานใน cpuset พิเศษที่มีการ overprovisioned ไม่ว่าจะเป็นในทางปฏิบัติหรือไม่?