Backport of igb driver to linux-2.6.18-xen

From xen-devel (Simon Horman):
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.

Read more

Xen Project Announces Performance and Security Advancements with Release of 4.19
Aug 05 2024

New release marks significant enhancements in performance, security, and versatility across various architectures.  SAN FRANCISCO – July 31st, 2024 – The Xen Project, an open source project under the Linux Foundation, is proud to announce the release of Xen Project 4.19. This release marks a significant milestone in enhancing performance, security,

Upcoming Closure of Xen Project Colo Facility
Jul 10 2024

Dear Xen Community, We regret to inform you that the Xen Project is currently experiencing unexpected changes due to the sudden shutdown of our colocated (colo) data center facility by Synoptek. This incident is beyond our control and will impact the continuity of OSSTest (the gating Xen Project CI loop)

Xen Summit Talks Now Live on YouTube!
Jun 18 2024

Hello Xen Community! We have some thrilling news to share with you all. The highly anticipated talks from this year’s Xen Summit are now live on YouTube! Whether you attended the summit in person or couldn’t make it this time, you can now access all the insightful presentations

Get ready for Xen Summit 2024!
May 24 2024

With less than 2 weeks to go, are you ready? The Xen Project is gearing up for a summit full of discussions, collaboration and innovation. If you haven’t already done so – get involved by submitting a design session topic. Don’t worry if you can’t attend in person,