The content reuse need include the original link: http://oliveryang.net
This page is for tracking my patches for OpenSolaris. As you may already know, Oracle had closed OpenSolaris project after it acquired Sun Microsystem in 2009. For this reason, all my patches below have been found and referred from Illumos Github Repository. The Illumos is a fork of OpenSolaris, and the code changes after Oracle & SUN merge have never been available in Illumos.
For above reasons, it was quite difficult to find all my footprints in Illumos code base. While reviewing the source code of Solaris, it always made me recall the days I worked for Solaris.
1. Solaris IO Subsystem
1.1 SRIOV Project
-
New Feature: Inter-Domain communication among LDOM and Xen VMs
Provided SRIOV devices PF/VF communication framework for PCIe config space emulation, PCIe UE & CE handling, other control commands transfers.
Notes: My original commit logs were not imported in Illumos Git commit logs. I made 20000 lines of code changes in Solaris PCIe subsystem, which has both common module and Xen/LDOM specific modules. The
pciev.c
is one of source code file I introduced in my project. Only small part of them are opensourced. The remainning part was not opened becasue Oracle had stopped OpenSoalris Project. The illumos-gate is based on Illumos, which is a fork of OpenSolaris.
1.2 Other Solaris IO subsystem RFEs & Bugfixes
The source code is not available in OpenSolaris code base.
2. NIC drivers
2.1 Intel Igb Driver
-
New Feature: Crossbow - Network Virtualization and Resource Management
Notes: In Solaris, big project was commited by gatekeeper (AKA. brach keeper in some other companies). I made the code changes under
usr/src/uts/common/io/igb/
directory, for enabling VMDq support in igb driver.usr/src/uts/common/io/igb/igb.conf usr/src/uts/common/io/igb/igb_gld.c usr/src/uts/common/io/igb/igb_hw.h usr/src/uts/common/io/igb/igb_main.c usr/src/uts/common/io/igb/igb_osdep.c usr/src/uts/common/io/igb/igb_osdep.h usr/src/uts/common/io/igb/igb_rx.c usr/src/uts/common/io/igb/igb_sw.h usr/src/uts/common/io/igb/igb_tx.c
In 2008, I gave a presentation about my work on support VMDq feature in Soalris network virtualization project: Crossbow. Please download the slides here
2.2 Intel E1000g Driver
-
Perf tuning: 33X Tibco UDP and 20% ip forwarding perf boost
This performance tuning work make me get the award from Intel OTC OpenSolaris team.
- Bugfix: 6 bugfixes patch set for e1000g driver
- Bugfix: e1000g panic bug under hotplug scenario
Notes: The yy150190 was my SUN Employee ID, which could be found in OpenSolaris git/hg commit logs.