Microsoft's Lessons Learned From Linux

Posted by Michael Larabel on March 29, 2012

Another session taking place next week at the 6th Linux Foundation Collaboration Summit, besides Qualcomm allegedly wanting to kill all proprietary drivers, is two Microsoft engineers talking about their Linux driver development experiences.

The session, entitled "Microsoft's Journey to the Linux Kernel", is to be presented by Tom Hanrahan and Ky Srinivasan. Hanrahan serves as Microsoft's program manager for Linux integration services while Srinivasan led the effort of Linux device drivers for Microsoft's Hyper-V hypervisor. The session abstract is found here.

Like the Qualcomm driver presentation, the Microsoft slides are already available. Their presentation is set to go over Microsoft's journey with creating thousands of lines of Linux kernel code as they created their Hyper-V drivers for Linux. It was a long development journey, especially when the Microsoft Hyper-V drivers were in staging, but earlier this year the drivers finally left staging. (Microsoft's first Linux code was released in 2009.)

The Microsoft slides state that the passage through the kernel's staging tree had "benefitted [sic] our drivers immensely" and that their drivers now conform to the Linux driver model. As a result of being beaten through staging process, their Hyper-V drivers are now significantly cleaner and tighter to the point of 60% reduction in the overall lines of code, significant performance and stability improvements were made, and a solid architectural basis created.

Some of the lessons that Microsoft learned for others is that the staging tree is not designed for quick (massive) re-architecture/clean-up efforts, upstream developers do not care for company-specific product deadlines, and the developers need to be extremely responsive with the community.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. Linux Desktop Security Could Be A Whole Lot Better
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  5. New NVIDIA Linux Driver Supports The GeForce GTX 780
  6. Chrome 28 To Offer More Speed Improvements
  7. Digia Announces "Boot To Qt" Project
  8. X.Org Libraries Hit By Round Of Security Issues
  9. Wayland's Weston Gets Output Scaling Support
  10. Raspberry Pi Gets New Wayland Weston Renderer
  11. Debian GNU/Hurd 2013 Release Brings New Packages
Latest Forum Talk
  1. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. Linux Desktop Security Could Be A Whole Lot Better
  5. Microsoft's zombie attacks Android (again)
  6. Raspberry Pi Gets New Wayland Weston Renderer
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite