Understanding the History of Linux Tero Roponen In the late 1990's the Linux kernel started to support more than one CPU. For the needed locking the BKL (Big Kernel Lock) was introduced. Today the kernel supports 4096+ CPUs with a fine-grained locking but there are still some subsystems that can't handle it because of still using the BKL. The difficult and risky process of getting rid of that old progress-hindering baggage has been under way for almost ten years but still isn't complete. In this presentation I will give you a short overview of the history of Linux development. The focus is on the design decisions made in the past that in their own time have been good but have since turned out to be problematic. Fundamental reasons for some of these problems are discussed and some ways to prevent the same kind of problems in the future will be given.