|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [Announce] Backport of igb driver to linux-2.6.18-xen
Hi,
I am happy to announce a refreshed backport of the IGB driver to
linux-2.6.18-xen.
Motivation
----------
To allow the creation of virtual functions (VF) on the 82576 that
can be passed through to domUs. This back-port is successful in that regard.
Methodology
-----------
The current igb driver in linux-2.6.18-xen seems to be a back-port of
a driver from RHEL5 that predates anything present in Linus's kernel tree.
This makes back-porting of changes from Linus's tree difficult. In
particular, the original commit to Linus's tree includes multi-queue
support, a non-trivial feature, whereas the code currently in
linux-2.6.18-xen does not.
With this in mind the method used was to back-port the original commit made
to Linus's tree and then back-port subsequent commits to Linus's tree.
Although somewhat verbose this method appears to have worked quite well.
Some patches were not back-ported, in particular GRO. This is because
the back-port seemed to be quite difficult for little gain. I'm happy
to re-consider any non-back-ported patches if there is interest.
In total there are 191 patches on top of linux-2.6.18-xen
"xen/x86: make do_settimeofday() return -EPERM when clock can't be changed"
(930:506133327116). Apart from one patch written by myself they all
correspond to patches in Linus's kernel tree. Where the patches have
been modified I have noted this in the changelog and added my own
Signed-off-by line. The majority of patches are unmodified.
Availability
------------
Due to the large number of patches I am providing this backport as
an hg tree, http://hg.vergenet.net/xen/linux-2.6.18-xen-igb
At this time it should be possible to pull this tree into linux-2.6.18-xen
or to use it independently.
I am happy to post the patches to xen-devel if that is of value.
However my experience in the past has shown that posting more than
a handful of patches results in a re-send-fest due to mangling issues.
There is also an issue that the first patch "igb: port to driver originally
committed to Linus's tree" (931:6b25a2daf6bc) is rather large at 192Kbytes.
Known Limitations
-----------------
* This back-port does not include the VF driver (igbvf).
This means that VFs created using the igb driver can't be used by dom0.
They can, however, be passed through to domUs.
* removing the igb module while a VF is passed-through results in a
hypervisor panic. This is after several pciback messages which explain
that you have done something that you sholdn't.
pciback: ****** removing device 0000:02:10.1 while still in-use! ******
pciback: ****** driver domain may still access this device's i/o resources!
pciback: ****** shutdown driver domain before binding device
pciback: ****** to other drivers or domains
(XEN) [VT-D]iommu.c:1271:d0 domain_context_unmap:PCIe: bdf = 2:10.1
(XEN) Xen BUG at msi.c:776
* The tree does not compile with PCI_IOV enabled between changesets
- "igb: this patch addes the sr-iov enablement option via num_vfs parameter"
(1084:500923c2764d)
- "igb: remove sysfs entry that was used to set the number of vfs"
(1104:065c8123ea19)
This is because the first patch makes use of netdev->dev which does not
exist. However the need for this is removed by the second patch.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [Announce] Backport of igb driver to linux-2.6.18-xen,
Simon Horman <=
|
|
|
|
|