How DMA and the IOMMU Work: Addresses, Translation, and Why Devices Cannot Touch Arbitrary Host Memory
A network interface that just received a frame does not interrupt the CPU so the processor can copy the payload. The device writes the frame...
A network interface that just received a frame does not interrupt the CPU so the processor can copy the payload. The device writes the frame...
A packet from a laptop in Mumbai to a server in Frankfurt does not ask the Internet for the shortest path. It follows a route that some netw...
Two threads can each write a flag and then read the other thread's flag, and both reads can return the old value. Nothing in the source ...
A string that looks like one character can be one byte, two bytes, or several code points that a font draws as a single glyph. len in one l...
A statement like 0.1 + 0.2 == 0.3 fails in Python, JavaScript, Java, Go, and C for the same reason. None of those languages stored the deci...
A NIC that just received a frame cannot wait for the current process to finish a syscall. The device raises a hardware interrupt. The CPU st...
A process that spends all its time in a tight userspace loop never notices SIGTERM until the kernel has a chance to put that process back on...
A mutex that takes a system call on every lock and unlock would dominate a hot critical section. The uncontended case is a few atomic instru...
A process that accepts ten thousand TCP connections cannot afford to ask the kernel about each socket in turn. select(2) and poll(2) copy ...
A shared linked list in the kernel can be walked by thousands of cores at once. A writer still has to insert or delete a node. If every walk...