Systems Performance 2nd Ed.

BPF Performance Tools book

Recent posts:
Blog index

Open Source Systems Performance

20 Oct 2013

I originally posted this at

There is an important and untold story about open source and systems performance, which I'm uniquely positioned to tell. I presented it at OSCON earlier this year, which was the perfect venue. My talk, Open Source Systems Performance, was a play in three acts:

  • Act 1. Before Open Source
  • Act 2. Open Source
  • Act 3. Closed Source

Linux appears in Act 2, but this story can only really be told by the Solaris operating system. Solaris was closed, then opened, and then closed again, providing acute examples of the value that an open source operating system provides for systems performance.

A video is on youtube:

The slides are available on slideshare and as a PDF:

Act 1 describes system performance without kernel source, a world that was documented, taught, and is still practiced today even when it doesn't make sense.

In Act 2, DTrace, a pioneering Solaris technology, heralds a new era for systems performance, one where all performance issues can be debugged. DTrace stands for dynamic tracing: where "dynamic" refers to its ability to trace compiled code. However, dynamic tracing for the kernel – where many major wins are found – is only practical when the code can be read for reference.

Act 3 brings a twist of fate: Oracle closes the Solaris source, making it very hard for customers to use kernel dynamic tracing on their own. And, they begin porting DTrace to Linux, where the kernel is – unlike Solaris – open source. Will Oracle's premier OS for DTrace become Oracle Linux, not Solaris?

Note that this story tells my personal experience and opinion; I am not privy to the official Solaris stance, nor work with Solaris at the moment. I work on illumos and Linux, and the illumos distributions, like SmartOS and OmniOS, enjoy a fully featured DTrace where kernel dynamic tracing is still practical.

There was good news with Solaris 11 and DTrace: more DTrace providers are available, including the long awaited tcp, udp, and ip providers. There was some other bad news too, with changes to the syscall provider. I personally think our industry continues to benefit from the existence of Solaris, and wish it the best. Hopefully, for Solaris, there will one day be an Act 4: the re-opening of Solaris!