if there are multiple kernel module can drive the same device, what is the rule to choose from them?
- by Dyno Fu
both pcnet32 and vmxnet can drive the device.
$ lspci -k
...
02:01.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
Subsystem: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
Flags: bus master, medium devsel, latency 64, IRQ 19
I/O ports at 2000 [size=128]
[virtual] Expansion ROM at dc400000 [disabled] [size=64K]
Kernel driver in use: vmxnet
Kernel modules: vmxnet, pcnet32
both kernel modules are loaded,
$ lsmod | grep net
pcnet32 32644 0
vmxnet 17696 0
mii 5212 1 pcnet32
as you see, kernel driver in use is vmxnet. is there any policy/algorithm in kernel how to choose from the candidates?