Opened 4 years ago

Last modified 4 years ago

#15659 new enhancement

Choose drivers for hardware by PCI device ID

Reported by: diver Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: System/Kernel Version: R1/Development
Keywords: optimization Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by diver)

From https://dev.haiku-os.org/ticket/5137#comment:8

Anyway, I guess the main points for boot time optimization are [...] choosing drivers for hardware more directly (e.g. by PCI device ID) instead of trying all of them.

Change History (5)

comment:1 by diver, 4 years ago

Description: modified (diff)

comment:2 by X512, 4 years ago

This is not restricted to PCI ID. Other device IDs exist such as USB ID, ACPI _HID, _CID etc.

comment:3 by waddlesplash, 4 years ago

USB stack already picks by device ID (or more often, type/subtype.) HID are usually USB. ACPI drivers probably are not covered indeed.

However, the majority of any given boot these days in spent in packagefs, having poked at profiles. I think the time spent on device probes is surprisingly small. Finally writing a new kernel device manager is still a good idea though.

comment:4 by phoudoin, 4 years ago

I guess packing some fast-matching metadata into each driver/device kernel module file's attributes could be a way to go here. Most wasted time is spent at loading module itself, executing the bit of code each device module have to lookup for supported hardware is most probably very small in comparison.

I don't think having some central database/config for that, the BFS kernel modules files can provide themselves such data already, taking leverage of BFS attributes.

comment:5 by diver, 4 years ago

Keywords: optimization added
Note: See TracTickets for help on using tickets.