Calculate kernel module load order and dependency depth from modinfo dependency chains.
Kernel modules can depend on other modules (a filesystem driver depending on a checksum library module, a network driver depending on a bus abstraction module, etc.), recorded in modules.dep (generated by `depmod` and consulted by `modprobe`). modprobe resolves the full dependency graph and loads modules bottom-up — the deepest, most fundamental dependency loads first so that each subsequent module's symbols are already resolvable — meaning dependency chain depth directly determines how many sequential (not parallel) load steps modprobe must perform for that module tree.
Load order
modprobe loads modules leaf-first: deepest dependency loads before its dependents; target module loads last
`modinfo -F depends <module>` lists direct dependencies. For the full resolved chain modprobe would load, check `/lib/modules/$(uname -r)/modules.dep | grep ^<module>.ko` which lists every transitively required .ko file in load order.
insmod loads exactly the single module file given and fails immediately if any dependency isn't already loaded — it has no dependency resolution. modprobe wraps insmod with dependency awareness, consulting modules.dep to automatically load every required module first in the correct order.
depmod scans all installed .ko files and rebuilds modules.dep (and related index files) to reflect their actual symbol dependencies — installing a module manually (e.g. via `make modules_install`) without re-running depmod leaves modprobe with a stale dependency map that may not know the new module exists or what it needs.