Hi
I have a small question about NIC driver (e.g. i40e) loading. Who is responsible to load i40e driver? And how does he knows we should load i40e, instead of ixgbe?
Thanks.
On Sat, Apr 27, 2019 at 11:44 PM wuzhouhui wuzhouhui14@mails.ucas.ac.cn wrote:
I have a small question about NIC driver (e.g. i40e) loading. Who is responsible to load i40e driver? And how does he knows we should load i40e, instead of ixgbe?
`depmod` may put hardware/driver lists into initramfs when `mkinitrd` is called when a new kernel is installed. Also check file: /lib/modules/`uname-r`/modules.alias The modules.alias contains PCI vendor/device IDs which can be found via `lspci -n`.
Also you can `modinfo i40e` and `modinfo ixgbe` to see a list of PCI vendor/device IDs which each driver supports.
Most of the time “it just works” be can be confusing tracking down exactly why one driver loads instead of another.
-----Original Messages----- From: "Steven Tardy" sjt5atra@gmail.com Sent Time: 2019-04-28 13:02:18 (Sunday) To: "CentOS mailing list" centos@centos.org Cc: Subject: Re: [CentOS] Who is responsible to load NIC driver when boot up
On Sat, Apr 27, 2019 at 11:44 PM wuzhouhui wuzhouhui14@mails.ucas.ac.cn wrote:
I have a small question about NIC driver (e.g. i40e) loading. Who is responsible to load i40e driver? And how does he knows we should load i40e, instead of ixgbe?
`depmod` may put hardware/driver lists into initramfs when `mkinitrd` is called when a new kernel is installed. Also check file: /lib/modules/`uname-r`/modules.alias The modules.alias contains PCI vendor/device IDs which can be found via `lspci -n`.
Also you can `modinfo i40e` and `modinfo ixgbe` to see a list of PCI vendor/device IDs which each driver supports.
Most of the time “it just works” be can be confusing tracking down exactly why one driver loads instead of another.
Thanks for you explanation. But who loads (modprobe) drivers, udev, kernel, or others?
CentOS mailing list CentOS@centos.org https://lists.centos.org/mailman/listinfo/centos
On Sun, 28 Apr 2019 at 01:22, wuzhouhui wuzhouhui14@mails.ucas.ac.cn wrote:
-----Original Messages----- From: "Steven Tardy" sjt5atra@gmail.com Sent Time: 2019-04-28 13:02:18 (Sunday) To: "CentOS mailing list" centos@centos.org Cc: Subject: Re: [CentOS] Who is responsible to load NIC driver when boot up
On Sat, Apr 27, 2019 at 11:44 PM wuzhouhui <wuzhouhui14@mails.ucas.ac.cn
wrote:
I have a small question about NIC driver (e.g. i40e) loading. Who is responsible to load i40e driver? And how does he knows we should load i40e, instead of ixgbe?
`depmod` may put hardware/driver lists into initramfs when `mkinitrd` is called when a new kernel is installed. Also check file: /lib/modules/`uname-r`/modules.alias The modules.alias contains PCI vendor/device IDs which can be found via `lspci -n`.
Also you can `modinfo i40e` and `modinfo ixgbe` to see a list of PCI vendor/device IDs which each driver supports.
Most of the time “it just works” be can be confusing tracking down
exactly
why one driver loads instead of another.
Thanks for you explanation. But who loads (modprobe) drivers, udev, kernel, or others?
During the initial boot on EL7, the initial ramdisk which uses dracut to set up that. After the initial boot, I believe udev is what is doing the work. There are a ton of pretty good manual pages for all the different parts of dracut which explain how it is loading things, what order and how to add/remove things.
-----Original Messages----- From: "Stephen John Smoogen" smooge@gmail.com Sent Time: 2019-04-28 21:54:13 (Sunday) To: "CentOS mailing list" centos@centos.org Cc: Subject: Re: [CentOS] Who is responsible to load NIC driver when boot up
On Sun, 28 Apr 2019 at 01:22, wuzhouhui wuzhouhui14@mails.ucas.ac.cn wrote:
-----Original Messages----- From: "Steven Tardy" sjt5atra@gmail.com Sent Time: 2019-04-28 13:02:18 (Sunday) To: "CentOS mailing list" centos@centos.org Cc: Subject: Re: [CentOS] Who is responsible to load NIC driver when boot up
On Sat, Apr 27, 2019 at 11:44 PM wuzhouhui <wuzhouhui14@mails.ucas.ac.cn
wrote:
I have a small question about NIC driver (e.g. i40e) loading. Who is responsible to load i40e driver? And how does he knows we should load i40e, instead of ixgbe?
`depmod` may put hardware/driver lists into initramfs when `mkinitrd` is called when a new kernel is installed. Also check file: /lib/modules/`uname-r`/modules.alias The modules.alias contains PCI vendor/device IDs which can be found via `lspci -n`.
Also you can `modinfo i40e` and `modinfo ixgbe` to see a list of PCI vendor/device IDs which each driver supports.
Most of the time “it just works” be can be confusing tracking down
exactly
why one driver loads instead of another.
Thanks for you explanation. But who loads (modprobe) drivers, udev, kernel, or others?
During the initial boot on EL7, the initial ramdisk which uses dracut to set up that. After the initial boot, I believe udev is what is doing the work. There are a ton of pretty good manual pages for all the different
I think you are right. I add a dump_stack() and printk() in virtio_net driver, and following infos printed when boot up:
kernel: Pid: 737, comm: modprobe Not tainted 2.6.32-279.22.1.el6.local.x86_64 #1 kernel: Call Trace: kernel: [<ffffffff81096ea5>] ? __blocking_notifier_call_chain+0x65/0x80 kernel: [<ffffffffa0044009>] ? init+0x9/0x3c [virtio_net] kernel: [<ffffffff8100204c>] ? do_one_initcall+0x3c/0x1d0 kernel: [<ffffffff810af701>] ? sys_init_module+0xe1/0x250 kernel: [<ffffffff8100b072>] ? system_call_fastpath+0x16/0x1b kernel: parent: udevd
parts of dracut which explain how it is loading things, what order and how to add/remove things.
-- Stephen J Smoogen. _______________________________________________ CentOS mailing list CentOS@centos.org https://lists.centos.org/mailman/listinfo/centos