How NUMA Works: Nodes, Distance, and Why First-Touch Allocation Matters
A process that calls malloc for a multi-gigabyte buffer on a two-socket server does not receive equal-cost memory. The physical frames behin...
A process that calls malloc for a multi-gigabyte buffer on a two-socket server does not receive equal-cost memory. The physical frames behin...
A process that calls malloc for a multi-gigabyte buffer on a two-socket server does not receive equal-cost memory. The physical frames behin...
A NIC that has just finished DMA-ing a frame into a host ring buffer does not copy the payload in its hard interrupt handler. The handler do...
A process that calls unshare(CLONE_NEWPID) and then fork does not get a private machine. It gets a private view of process IDs. The child se...
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 driver that calls kmalloc(256, GFP_ATOMIC) from an interrupt handler and a process that calls malloc(256) are not talking to the same al...
A database that updates a 4 KiB page does not update a 4 KiB cell on the SSD. The host sends a logical block address. The drive's flash ...
A call to puts in a normal C binary is not a direct jump to libc. The machine code in the executable names a procedure-linkage-table stub. ...