L4Ka Project

L4Ka::Pistachio/ia32 Performance

The performance measurements were performed on the following system configuration:

  • Dual Intel Pentium III, 800MHz (Family 6, Model 8, Stepping 10)
    (16K L1 DCache, 16K L1 ICache, 256K L2 Cache)
  • ASUS CUR-DLS ACPI BIOS Rev. 1012
  • 768MB 133MHz ECC SDRAM

The following graph shows incremental costs for transfering larger messages of untyped message registers. The FastPath is a hand-optimized assembly IPC path covering only untyped message registers. The performance measurements were performed using the pingpong benchmark with all kernel debug features disabled, the kernel was compiled with GCC 3.2.2.

The benchmark gives a first aproximate overhead of 55 cycles for the C code path. It also clearly shows a 170 cycles performance penalty due to context switching and for re-populating the TLB. The TLB working set includes at least 5 pages (and will therefore lead to at least 5 TLB misses): code, stack, data, UTCB and KIP.

Please note that these performance numbers are measured on a not yet fully optimized kernel, and therefore should be interpreted as a first performance indicator only.