]> rtime.felk.cvut.cz Git - l4.git/commitdiff
Some minor fixes. master
authorMaxim Baryshnikov <barysmax@fel.cvut.cz>
Thu, 26 May 2016 03:51:14 +0000 (05:51 +0200)
committerMaxim Baryshnikov <barysmax@fel.cvut.cz>
Thu, 26 May 2016 03:51:14 +0000 (05:51 +0200)
l4/pkg/benchmark/server/src/main.c
l4/pkg/bootstrap_custom/server/src/ARCH-x86/crt0.S

index b790cc57ffcd415a5e03e5faf2889e40f79596f0..0bd379b3ad8a09b73daa951d60e4d0d4374c7438 100644 (file)
 #define ALL_WORKSETS_BENCH 
 
 struct s {
-       int dummy[56];
+       char dummy[56];
        struct s *ptr;
 };
 
-struct s array[0x1000000/sizeof(struct s)];
+struct s array[0x2100000/sizeof(struct s)];
 #define REPEATS (0x20000000)
 
 static __inline__ uint64_t rdtsc(void)
@@ -46,25 +46,29 @@ int main(int argc, char *argv[])
                while (1)       
 #endif
                {
-                       unsigned int i;
-                       for (i=0; i < size / sizeof(array[0]); i++)
-                               array[i].ptr = &array[i+1];
-                       array[ size / sizeof(array[0]) - 1].ptr = &array[0];
+               uint8_t repeat_times = 70;
+               while (repeat_times--){  
+                       
+                               unsigned int i;
+                               for (i=0; i < size / sizeof(array[0]); i++)
+                                       array[i].ptr = &array[i+1];
+                               array[ size / sizeof(array[0]) - 1].ptr = &array[0];
 
-                       i = REPEATS;
-                       volatile struct s *p = &array[0];
-                       uint64_t tic, tac;
-                       tic = rdtsc();
-                       while (i--) {
-                               p = p->ptr;
-                               //printf("%p\n", p);
-                       }
-                       tac = rdtsc();
-                       printf("%d %llu\n", size, (tac - tic) / REPEATS);
-                       fflush(stdout);
+                               i = REPEATS;
+                               volatile struct s *p = &array[0];
+                               uint64_t tic, tac;
+                               tic = rdtsc();
+                               while (i--) {
+                                       p = p->ptr;
+                                       //printf("%p\n", p);
+                               }
+                               tac = rdtsc();
+                               printf("%d %llu\n", size, (tac - tic) / REPEATS);
+                               fflush(stdout);
                }
                printf("10 sec wait and do again.\n");
                l4_sleep(10000);
+               }
        }
        return 0;       
 }
index 4e3b04e1579a185fa81b5f9fc04a56503e259c1f..df13f8cb9a85d4495ef3c37ea06266feabe4f44f 100644 (file)
@@ -75,11 +75,12 @@ _start:
        mov $(X86_CR0_PG | X86_CR0_WP | X86_CR0_PE),%eax
        mov %eax,%cr0
        */
+#ifdef JAILHOUSE
        movl $MSR_MTRR_DEF_TYPE,%ecx
        rdmsr
        or $MTRR_ENABLE,%eax
        wrmsr
-       
+#endif //JAILHOUSE
        cld
        cli
        mov     $(3 * 8), %eax