Better linked-list traversal in BPF
Better linked-list traversal in BPF
Posted Mar 9, 2024 18:08 UTC (Sat) by Baughn (subscriber, #124425)In reply to: Better linked-list traversal in BPF by epa
Parent article: Better linked-list traversal in BPF
Correct, so it would be faster on average, and a lot of the time the next location will be loaded whether or not it’s useful, regardless of list design — cache lines can only be loaded as a whole.
This isn’t a new approach, by the way. LISP famously uses lists a lot, and LISP machines needed to process them quickly. Even with memory latency at the time being much lower relative to CPU speeds, laying them out contiguously in memory was a standard trick. One way to do that is to use a copying garbage collector, which if coded correctly will automatically defragment the lists when they’re copied.