kernel 2.6.3 (x86_64), module loading on demand
tiku at tiku.dyndns.org
Tue Mar 9 10:59:58 UTC 2004
I installed Core 1 from iso's and then updated it to development version with
up2date. And now I'm hitting the bug 117411, kernel no longer loads modules
on demand. Everything works just fine if modules are modprobe'd manually.
Is someone using x86_64 actually been able to get kernel 2.6.3 working?
This occurs both on vanilla 2.6.3 and 2.6.3-2.1.242.
How is this module loading through kmod even supposed to work? Let's assume
that I have /dev/nvidiactl, which is character device and has major 195.
If I do cat /dev/nvidiactl, what actually should happen?
With some tracing in fs/char_dev.c and drivers/base/map.c, I can tell that
kobj_lookup gets called, trying to find device with major 195. But the map
does not contain such device, there is only one entry with major 1
(which seems to be the default value set by kobj_map_init). When should this
value be initialized after all.. the only place I found is in nvidia's
driver initialization, which gets called when module is modprobe'd, which
on the other hand won't happen via kernel's kmod as it does not find the
module from the map.. or something.. probably totally wrong interpreation =)
More information about the test