Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#21 SYSEMU Performance Patch for reducing context switches

open
nobody
None
5
2004-05-20
2004-05-20
Anonymous
No

see:
http://perso.wanadoo.fr/laurent.vivier/UML/

this patch reduces the context switch rate on your host
system and gives a performance benefit for uml.

The patch is similar to skas: it needs the UML _AND_
the HOST to be patched.

some tests for comparison

"GETPID LOOP" (worst case-/no "real world"-scenario)
------- getpid.c -------------
#include <stdio.h>

int main(int argc, char** argv)
{
int i;
int loop = atol(argv[1]);

for (i = 0; i < loop; i++)
{
getpid();
}
}
-----------------------------

time ./getpid 10000000

native speed on HOST:
----------------------
real 0m7.920s
user 0m3.990s
sys 0m3.940s

UML w/o sysemu:
-----------------
real 6m16.956s
user 0m5.250s
sys 0m58.462s

real 6m17.126s
user 0m4.846s
sys 1m1.731s

real 6m16.461s
user 0m5.077s
sys 0m59.365s

UML with sysemu:
-----------------
real 3m55.052s
user 0m5.962s
sys 0m46.385s

real 3m56.964s
user 0m5.846s
sys 0m42.635s

real 3m54.179s
user 0m5.981s
sys 0m47.154s
---------------------------------------

KERNEL COMPILE:
-----------------

UML w/o sysemu:
-----------------
time make dep > /dev/null

real 4m51.669s
user 0m37.462s
sys 0m51.846s

time make bzImage modules > /dev/null

real 13m35.457s
user 4m18.885s
sys 1m40.481s

UML with sysemu:
-----------------
time make dep > /dev/null

real 3m52.486s
user 0m37.981s
sys 0m50.808s

time make bzImage modules > /dev/null

real 13m5.980s
user 4m18.096s
sys 1m40.115s

(Tests have been made by Laurent with 2.4 Kernel)

This patch needs testing - please post further
performance comparisons (some graphs?) !
:)

Discussion

  • Logged In: NO

    some more performance tests:

    host: Linux 2.6.7-rc1-bigmem-sysemu
    i686
    Benchmark DBD suite: 2.14
    Server version: MySQL 3.23.58

    host (native speed):
    real 2m50.456s
    user 0m39.960s
    sys 0m10.014s

    uml w/ sysemu:
    real 13m57.353s
    user 2m17.370s
    sys 3m54.310s

    uml w/o sysemu:
    real 18m38.329s
    user 2m37.370s
    sys 6m3.040s

    see further information:
    http://www.theshore.net/~caker/uml/sysemu-benchmarks.txt