* Question about ixgbe and ixgbevf
@ 2015-03-23 5:45 Kevin Wilson
2015-03-23 9:21 ` Biju Abraham
2015-03-23 9:56 ` Bjørn Mork
0 siblings, 2 replies; 3+ messages in thread
From: Kevin Wilson @ 2015-03-23 5:45 UTC (permalink / raw)
To: kernelnewbies
Hi,
I have an x86_64 machine (F21) on which ixgbevf is not loaded.
I notices that when running
modprobe ixgbevf max_vfs = 10 (or any other number), this triggers
loading of ixgbevf driver.
I will appreciate if someone can exaplain the implementation details
of how does this happen.
I could not find what in the ixgbe driver code triggers this action
Regards,
Kevni
^ permalink raw reply [flat|nested] 3+ messages in thread
* Question about ixgbe and ixgbevf
2015-03-23 5:45 Question about ixgbe and ixgbevf Kevin Wilson
@ 2015-03-23 9:21 ` Biju Abraham
2015-03-23 9:56 ` Bjørn Mork
1 sibling, 0 replies; 3+ messages in thread
From: Biju Abraham @ 2015-03-23 9:21 UTC (permalink / raw)
To: kernelnewbies
Hey Kevin,
This is basically because of udevd calling modprobe when the new
VFs are created. The code in the ixgbe driver that causes the VFs to
be created would be the function call "pci_enable_sriov()". This
brings about a chain of events resulting in the ixgbevf getting
loaded.
I assume you want to assign the VFs to VMs rather than have ixgbevf
load and take control of the VFs. So, you will have to black list the
ixgbevf driver in your host operating system.
For more information on the udev, udevd and modprobe check out
(section 7.4.2.4) :
http://www.linuxfromscratch.org/lfs/view/6.4/chapter07/udev.html
- Biju
On Mon, Mar 23, 2015 at 11:15 AM, Kevin Wilson <wkevils@gmail.com> wrote:
> Hi,
> I have an x86_64 machine (F21) on which ixgbevf is not loaded.
> I notices that when running
> modprobe ixgbevf max_vfs = 10 (or any other number), this triggers
> loading of ixgbevf driver.
> I will appreciate if someone can exaplain the implementation details
> of how does this happen.
> I could not find what in the ixgbe driver code triggers this action
>
> Regards,
> Kevni
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
^ permalink raw reply [flat|nested] 3+ messages in thread
* Question about ixgbe and ixgbevf
2015-03-23 5:45 Question about ixgbe and ixgbevf Kevin Wilson
2015-03-23 9:21 ` Biju Abraham
@ 2015-03-23 9:56 ` Bjørn Mork
1 sibling, 0 replies; 3+ messages in thread
From: Bjørn Mork @ 2015-03-23 9:56 UTC (permalink / raw)
To: kernelnewbies
Kevin Wilson <wkevils@gmail.com> writes:
> Hi,
> I have an x86_64 machine (F21) on which ixgbevf is not loaded.
> I notices that when running
> modprobe ixgbevf max_vfs = 10 (or any other number), this triggers
> loading of ixgbevf driver.
> I will appreciate if someone can exaplain the implementation details
> of how does this happen.
> I could not find what in the ixgbe driver code triggers this action
max_vfs is a deprecated method for setting an initial value for
adapter->num_vfs. You'll normally use sysfs to add VFs today.
If you look at this extremely over-long ixgbe_probe() function in
ixgbe_main.c then you'll find this:
pci_sriov_set_totalvfs(pdev, IXGBE_MAX_VFS_DRV_LIMIT);
ixgbe_enable_sriov(adapter);
... and then looking at ixgbe_enable_sriov() in ixgbe_sriov.c :
err = pci_enable_sriov(adapter->pdev, adapter->num_vfs);
If you're interested in the gory details here, then I suggest looking at
Documentation/PCI/pci-iov-howto.txt . But it is sufficient to know that
this creates a number of new PCI devices with IDs which is then matched
by the ixgbevf driver. That driver will then be autoloaded and probed
for all the new VF PCI devices, just like any other hotplugged PCI
device works.
Bj?rn
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-03-23 9:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-23 5:45 Question about ixgbe and ixgbevf Kevin Wilson
2015-03-23 9:21 ` Biju Abraham
2015-03-23 9:56 ` Bjørn Mork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).