Skip to content

tsuna/contextswitch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

636a2e8 · Apr 7, 2016

History

10 Commits
Mar 1, 2012
Apr 7, 2016
Apr 7, 2016
Mar 1, 2012
Apr 7, 2016
Apr 7, 2016
Apr 7, 2016
Apr 7, 2016
Apr 7, 2016
Apr 7, 2016

Repository files navigation

Little micro-benchmarks to assess the performance overhead of context
switching.

timesyscall: Benchmarks the overhead of a system call.
timectxsw:   Benchmarks the overhead of context switching between 2 processes.
timetctxsw:  Benchmarks the overhead of context switching between 2 threads.
timectxswws: Benchmarks the overhead of context switching between 2 processes
             using a working set of the size specified in argument.
timetctxsw2: Benchmarks the overhead of context switching between 2 threads,
             by using a shed_yield() method.
             If you do taskset -a 1, all threads should be scheduled on the
             same processor, so you are really doing thread context switch.
             Then to be sure that you are really doing it, just do:
               strace -ff -tt -v taskset -a 1 ./timetctxsw2
             Now why sched_yield() is enough for testing ? Because, it place
             the current thread at the end of the ready queue. So the next
             ready thread will be scheduled.
             I also added sched_setscheduler(SCHED_FIFO) to get the best
             performances.

About

Little micro-benchmark for Linux to test the cost of context switching and system calls

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published