Skip to content
Microbenchmarks for x86_64 kernel entry methods
C++ Assembly Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
include
scripts
.travis.yml
LICENSE
README.md
Tupfile
Tupfile.ini
Tuprules.tup
entry.asm
io.cpp
main.cpp
standalone.lds
start.asm

README.md

Build Status GitHub

Kernel Entry Microbenchmarks

Find the full description in my blog post about x86 system call mechanisms over on x86.lol.

This repository contains x86 kernel entry benchmarks for:

  • interrupt gates,
  • call gates,
  • sysenter/sysexit,
  • syscall/sysret.

For building and running them you need:

  • gcc >= 7.x
  • tup
  • qemu
  • python3 with matplotlib

If you've installed all these, you can run the benchmarks and generate an SVG plot by running tup.

You can’t perform that action at this time.