Score:0

ประสิทธิภาพการอ่านข้อมูล PCIe ขึ้นอยู่กับเคอร์เนล

ธง fr

ฉันมีอุปกรณ์ PCIe (Gen3) ที่ถ่ายโอนข้อมูลไปยัง RAM ของคอมพิวเตอร์เป็นก้อนขนาด 256 MiB แต่ละสำเนาใช้เวลาประมาณ 48 มิลลิวินาที ฉันใช้ Ubuntu 20.04 และโมดูลอุปกรณ์เคอร์เนลเพื่อจัดการการถ่ายโอนข้อมูล เมื่อใดก็ตามที่ฉันอัปเกรดเป็นเคอร์เนลที่ใหม่กว่า ฉันจะคอมไพล์ไดรเวอร์อีกครั้ง

เมื่อเร็ว ๆ นี้ฉันสังเกตว่าด้วยรูปภาพ 5.8.0-53 การอ่านค่าจะสอดคล้องกัน และใช้เวลาประมาณ 48 มิลลิวินาที (+/- 0.2 มิลลิวินาที) หลังจากอัปเกรดเป็น 5.8.0-55 (เหมือนกันสำหรับ -57 และ -59) การดำเนินการจะใช้เวลา 51 มิลลิวินาที การเพิ่มไม่สะดวกเนื่องจากเป็นแอปพลิเคชันแบบเรียลไทม์และควรอยู่ที่หรือต่ำกว่า 50ms เพื่อไม่ให้ข้อมูลสูญหาย

ฉันอยากรู้ว่าอะไรคือสาเหตุเบื้องหลัง และมีบันทึกการเปลี่ยนแปลงที่ชี้ว่าการเปลี่ยนแปลงใดบ้างที่อาจทำให้เกิดการเปลี่ยนแปลงนี้ หรือมีวิธีใดในการให้ข้อเสนอแนะผ่าน GitHub อาจเป็นการถดถอยและเคอร์เนลเวอร์ชันใหม่มีประสิทธิภาพดีกว่า ขอขอบคุณล่วงหน้าสำหรับคำแนะนำของคุณ

Doug Smythies avatar
gn flag
It can be very difficult and time consuming to isolate the exact commit that introduced your change in performance. As a test, I would try the latest mainline kernel, currently [5.13](https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/) to determine if your issue persists upstream. If it does, I would try other mainline kernels in an attempt to determine the start and end points for a kernel bisection. Then bisect to isolate the problematic commit. There is likely also a away to bisect between 5.8.0-53 and 5.8.0-55, but that would be a workflow I am not familiar with.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา