ค้นหา CPU kernel hog เป็นครั้งคราว
ฉันมีเคอร์เนล 2.6.35 PREEMPT ที่ทำงานบนโปรเซสเซอร์ ARMv7 ความเร็วปานกลาง เกี่ยวกับทุกๆ 100 - 125s สิ่งที่ทำให้เคอร์เนลล้มเหลวในการประมวลผลไดรเวอร์ที่เกี่ยวข้องกับเสียงอย่างรวดเร็วพอที่จะหลีกเลี่ยงการ underrun การค้างไว้โดยทั่วไปจะอยู่ในช่วง 15-30ms แต่อาจนานกว่านั้นมาก ไม่ชัดเจนว่าการถือครองอยู่ในเคอร์เนลทั้งหมดหรืออาจเกี่ยวข้องกับการกำหนดตารางเวลาของกระบวนการผู้ใช้ที่รันด้วยลำดับความสำคัญตามเวลาจริง (SCHED_RR, 2) ฉันเดาว่ามีไดรเวอร์ (อย่างน้อยหนึ่ง) ที่ไม่เล่นได้ดีกับการจอง เอาต์พุต strace บางตัวจากกระบวนการผู้ใช้แสดงให้เห็นถึงลักษณะบางอย่างของพฤติกรรมปกติและผิดปกติบางอย่างแม้ว่าฉันจะไม่แน่ใจว่าจะตีความรายงานเวลาต่าง ๆ ได้อย่างไร กรณีปกติ: 0.000518 แบบสำรวจ ([{fd = 10, เหตุการณ์ = POLLIN | POLLERR | POLLNVAL, revents = POLLIN}], 1, 3415) = 1 0.010202 แบบสำรวจ ([{fd = …