แต่ละแพ็กเก็ตได้รับการประมวลผลโดยแกนที่แตกต่างกันหรือไม่? หรือเป็นกระบวนการแบบเธรดเดียว?
2
ฉันไม่แน่ใจว่าทำไม Chopper3 ปิดคำถามนี้ เพื่อตอบว่า: Iptables เป็นเพียงส่วนหน้าของ userspace สำหรับไฟร์วอลล์ linux ซึ่งเป็น netfilter Netfilter เป็นระบบของ hooks ในเคอร์เนลรอบ ๆ การประมวลผลแพ็กเก็ต แต่ละแพ็คเก็ตจะถูกประมวลผลโดยเคอร์เนลโดยเรียกการแทรก เคอร์เนลของคุณไม่ว่าจะขัดจังหวะในหลาย ๆ CPU หรือไม่นั้นขึ้นอยู่กับอายุของมัน ดูกระทู้นี้ใน StackOverflow เกี่ยวกับมัน stackoverflow.com/questions/7467688/…
—
JakePaulus
+1 เพราะฉันคิดว่าเป็นคำถามของแท้
—
Sachin Divekar
@ JakePaulus IRQ-balacing นี้จะไม่กำหนดแกนมากกว่าหนึ่งแกนให้กับอินเตอร์รัปต์เดียว ดังนั้นการสลับแกนสำหรับแต่ละแพ็กเก็ตในบรรทัดเดียวจะไม่เกิดขึ้น?
—
นิลส์
จากจุดแคชหน่วยความจำ CPU ของมุมมองการสลับคอร์สำหรับการเชื่อมต่อเดียวไม่สมเหตุสมผล - มันอาจทำให้การทำงานช้าลงหากคอร์เหล่านี้ไม่แชร์แคชเดียวกัน แต่ทำไมคุณถามคำถามนี้
—
นิลส์
@Nils อินเทอร์รัปต์ที่สร้างโดยอินเตอร์เฟสสามารถเปลี่ยนเส้นทางไปยัง CPU อื่นที่ไม่ว่าง นอกจากนี้อินเทอร์เฟซหลายตัวอาจมีอินเทอร์รัปต์ส่งไปยัง CPU ที่แตกต่างกันเพื่อกระจายโหลด ฉันคิดว่าคุณถูกต้องเกี่ยวกับทราฟฟิกจากอินเทอร์เฟซเดียวที่ไม่สมดุลระหว่าง CPU ในแต่ละแพ็กเก็ต
—
JakePaulus