DATE: Monday, April 9, 2007
TIME: 11:00 am - 12:00 pm
PLACE: Intel Research Pittsburgh, 4720 Forbes Avenue, CIC Building 4th Floor, Suite 410


Marek Olszewski
University of Toronto

JIT Instrumentation - A Novel Approach To Dynamically Instrument Operating Systems

As modern operating systems become more complex, understanding their inner workings is increasingly difficult. Dynamic kernel instrumentation is a well established method of obtaining insight into the workings of an OS, with applications including debugging, profiling and monitoring, and security auditing. To date, all dynamic instrumentation systems for operating systems follow the probe-based instrumentation paradigm. While efficient on fixed-length instruction set architectures, probes are extremely expensive on variable-length ISAs such as the popular Intel x86 and AMD x86-64. We propose using just-in-time (JIT) instrumentation to overcome this problem. While common in user space, JIT instrumentation has not until now been attempted in kernel space. In this work, we show the feasibility and desirability of kernel-based JIT instrumentation for operating systems with our novel prototype, implemented as a Linux kernel module. The prototype is fully SMP capable. We evaluate our prototype against the popular Kprobes Linux instrumentation tool. Our prototype outperforms Kprobes, at both micro and macro levels, by orders of magnitude when applying medium- and fine-grained instrumentation.

Paper pdf:

Marek Olszewski is a 2nd year Master’s student at the University of Toronto. His research interests include compilers, runtime optimization, parallel computing, and computer architecture. Most recently, he has been focusing on dynamic binary rewriting, instrumentation, and software transactional memory. Previously, Marek performed research in imperative install-time optimization of parallel sorting algorithms. He will be starting his PhD in September and hopes to focus on speculative auto-parallelization.

For Further Seminar Info:

Host: Todd Mowry Visitor
Coordinator: Shellee Lank,

, or visit