kernel 2.6.3 (x86_64), module loading on demand

Timo Kujala tiku at tiku.dyndns.org
Tue Mar 9 10:59:58 UTC 2004


Hi,

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 fedora-test-list mailing list