[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |