Per-thread caching in libumem

libumem was developed in 2001 by Jeff Bonwick and Jonathan Adams. While the Solaris implementation of malloc(3C) and free(3C) performed adequately for single threaded applications, it did not scale. Drawing on the work that was done to extend the original kernel slab allocator, Jeff and Jonathan brought it to userland in the form of libumem. [...]

Posted on July 16, 2012 at 10:50 am by rm · Permalink · Comments Closed
In: SunOS · Tagged with: , , , ,

Visualizing KVM

Last March, Bryan Cantrill and I joined Max Bruning on working towards bringing KVM to illumos. Six months ago we found ourselves looping in x86 real mode and today we’re booting everything from Linux to Plan 9 to Weenix! For a bit more background on how we got there take a gander at Bryan’s entry [...]

Posted on August 16, 2011 at 11:40 am by rm · Permalink · 2 Comments
In: DTrace · Tagged with: , , ,

Racing in the depths of SMF

I recently found myself having to dive into the depths of SMF — The SunOS (illumos / Solaris) Service Management Framework — to debug a nasty race condition between svccfg import and svcadm enable -s. Understanding what happened sent me chasing around and dealing with a cheerful cast of characters that you might or might [...]

Posted on April 4, 2011 at 11:15 am by rm · Permalink · Comments Closed
In: SunOS · Tagged with: ,

A trip down into <sys/regset.h>

Just the other day I was working with Ryan Dahl on debugging an issue he hit while working on adding support for Crankshaft –  the new JIT for Google’s v8 — for SunOS. This came about from Bryan’s discovery of what can happen when magic collides. Now, this is a rather delicate operation and there [...]

Posted on March 14, 2011 at 8:16 am by rm · Permalink · Comments Closed
In: SunOS · Tagged with: 

Fixing DTrace libdir dependency resolution

As a part of the work Bryan, Dave, Brendan, and I have been doing to instrument Node, Bryan wrote a translator file. One of the nice things about DTrace is that you can define the arguments to a probe to be a structure and simply access them like a C struct. The way that this [...]

Posted on February 18, 2011 at 4:42 pm by rm · Permalink · Comments Closed
In: DTrace, Joyent · Tagged with: , ,