Comment 6 for bug 248509

Revision history for this message
In , Jon (jon-redhat-bugs) wrote :

Currently this appears to be an issue with 64 bit architectures and the implementation behind the syscalls within the xen kernel in the VM and the way they all exit the vm to the hypervisor. Is this related to not taking advantage of segmentation protection?

#include <stdio.h>

int main(int argc,char **argv) {

    int i;
    for ( i = 0 ; i < 90000000 ; i++ ) {
           gettimeofday();

     }

}

32 bit VM:
time ./time

real 1m42.460s
user 0m8.565s
sys 1m33.834s

64-bit VM:
time ./time_64

real 6m3.259s
user 0m26.750s
sys 5m36.501s

Not 100% sure on a gettimeofday why it requires to exit out of the VM completely? Is it not possible to take advantage of the generic 'vsyscalls' implementation which is in the 2.6.x branches?