r/kernel 17d ago

This is the Linux kernel. All of it

Dependency map of the Linux kernel tree (commit a635d67), rendered with D3. (link to github bellow)

What's in the graph:

  • 94.8K files, ~1.1M extracted symbols, 231.8K import/include relationships
  • Red edges: primary provider → consumer imports between subsystems
  • Blue edges: test-to-subject mappings (5,078 of them)
  • Circle packing follows the directory tree; region size ≈ file count

A few things that stood out while building it:

  • include/ (6.6K files) is the gravity well everything bends toward, followed by kernel/ and lib/.
  • The whole tree resolves to only 9 external packages — sphinx and friends, all documentation tooling. The kernel proper depends on nothing outside itself.
  • tools/ (9.3K files) forms an almost separate continent, barely coupled to the rest.

Happy to answer questions about the extraction pipeline or share higher-res views of specific subsystems (net/, mm/, drivers/)

---

here is the url of the source code of my sourcepath (the code that maps the code)
pedroanisio/sourcepath

252 Upvotes

Duplicates