VM evolution The 2.3.x algorithm wasn't capable of delayed writes/swapouts, not-locked pages during kiobuf I/O, shmem in pagecache in the tmpfs address space, and most important cache pollution (heavy I/O) was throwing away the working set. 2.2.x is even more dumb, it doesn't have a lru at all, it's a round robin on the physical ram. The early 2.4 VM algorithm was more complex than the final one, there were multiple lru lists, lots of aging information, many refile from one list to another, more kernel daemons, special code in the allocator but I didn't see the point of all those special cases.