tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: xxxVERBOSE module?



On Sat, 22 May 2010, John Nemeth wrote:

} (referring to loading the pciverbose module...)
} I guess I can probably remove those changes.  So we'll have to rely on

    Although, you can't test them, possibly keep them.  We do want to
support hotswap PCI at some point.

It turns out that I need to keep them after all! Without an explicit load, the modules don't get initalized until much later in system startup, and this module beomces rather useless. :)

There is still one problem, though. As you (John) pointed out earlier, we don't have any accessible filesystems from which to load modules. But unfortunately, the kern_module subsystem doesn't seem to realize this. So, if the pci code requests the module to be loaded, and the module is neither built-in nor provided by the boot loader, it _will_ attempt to load from the filesystem. I expected it to fail, but the failure mode is rather ungraceful - the kernel panics with backtrace

        _atomic_inc_32
        namei + x109
        vn_open + x84
        kobj_load_vfs + x82
        module_load_vfs + x2cf
        module_do_load + 3e9
        module_load + x68

It would seem to me that somewhere in this mess we should simply return ENOENT (or some other appropriate errno).

Also, dyoung@ is in the process of
merging cardbus into PCI.  I don't know if your changes would cause
mod_verbose to be autoloaded for cardbus, which uses PCIVERBOSE, but
cardbus insertion should be handled at some point.  And, of course,
there is PCIe and expresscard on the horizon.  expresscard is basically
hotswap PCIe along with USB (i.e.  an expresscard slot brings out
signals for both and the card determines which one it is going to
use).

Both of these will be reasonable. I've already updated all the cardbus references to the pci_find{vendor,product} routines, so it would be a simple matter of making the pciverbose module gets (re)loaded.

    What about X?  What does it use for scanning the PCI bus?

I suspect it uses libpci - I'll be doing a full-tree search for libpci shortly.


-------------------------------------------------------------------------
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
| Kernel Developer |                          | pgoyette at netbsd.org  |
-------------------------------------------------------------------------


Home | Main Index | Thread Index | Old Index