Ejemplo n.º 1
0
main(int argc, char ** argv)
{

  int loopcount;
  int memsize;
  if(argc < 4) {
    printf("Usage:  memtest X loopcount memsize(MB)\n");
    printf("where X = \n");
    printf("1 : malloc test \n");
    printf("2 : mmap test \n");
    printf("3 : malloc test + touch pages\n");
    printf("4 : mmap test + touch pages\n");
    printf("5 : malloc/free test \n");
    printf("6 : mmap/munmap test \n");
    printf("loopcount - number of loops\n");
    printf("memsize - memory segment size to allocate in MB.\n");
    exit(1);
  }
  

  loopcount = atoi(argv[2]);
  memsize = atoi(argv[3]);
  switch(atoi(argv[1])) {
  case 1: malloctest(loopcount, memsize , 0 );
    break;
  case 2: mmaptest(loopcount, memsize,0);
    break;
  case 3: malloctest(loopcount, memsize,1);
    break;
  case 4: mmaptest(loopcount, memsize,1);
    break;
  case 5: freetest(loopcount, memsize);
    break;
  case 6: unmaptest(loopcount, memsize);
    break;
  default:
    break;
  }
}
Ejemplo n.º 2
0
static int remote(void *dummy)
{
    uint64_t time = rdtsc();
    int core = disp_get_core_id();
    times[core] = time;
    printf("remote running on %d after %"PRIu64"\n", core, time-times[0]);

    if (core == 1) sys_print("Null\n", 5);
    BARRIER(barrier, NPROC);
    //sys_print("*", 1);
    null(core);

    if (core == 1) sys_print("sys_print\n", 10);
    BARRIER(barrier, NPROC);
    sysprinttest(core);
    BARRIER(barrier, NPROC);

    if (core == 1) sys_print("terminal_write\n", 15);
    BARRIER(barrier, NPROC);
    termwritetest(core);
    BARRIER(barrier, NPROC);

    if (core == 1) sys_print("printf\n", 7);
    BARRIER(barrier, NPROC);
    printftest(core);
    BARRIER(barrier, NPROC);

    if (core == 1) sys_print("malloc\n", 7);
    BARRIER(barrier, NPROC);
    malloctest(core);
    BARRIER(barrier, NPROC);

    if (core == 1) printf("\nlocktest1\n");
    gcount = 0;

    BARRIER(barrier, NPROC);
    locktest1(core);
    BARRIER(barrier, NPROC);

    if (core == 1) {
        printf("gcount %"PRIx64"\n", gcount);
        gcount = 0;
        printf("locktest4\n");
    }

    BARRIER(barrier, NPROC);
    locktest4(core);
    BARRIER(barrier, NPROC);

    if (core == 1) printf("gcount %"PRIx64"\n", gcount);

    if (core == 1) printf("inctest1\n");
    atomiccounter = 0;

    BARRIER(barrier, NPROC);
    inctest1(core);
    BARRIER(barrier, NPROC);

    if (core == 1) {
        printf("count %"PRIx32"\n", atomiccounter);
        atomiccounter = 0;
        printf("inctest4\n");
    }

    BARRIER(barrier, NPROC);
    inctest4(core);
    BARRIER(barrier, NPROC);

    if (core == 1) {
        printf("count %"PRIx32"\n", atomiccounter);
        atomiccounter = 0;
        printf("bartest1\n");
    }
    BARRIER(barrier, NPROC);
    bartest1(core);
    BARRIER(barrier, NPROC);

    if (core == 1) printf("bartest4\n");

    BARRIER(barrier, NPROC);
    bartest4(core);
    BARRIER(barrier, NPROC);

    if (core == 1) printf("mutextest\n");

    BARRIER(barrier, NPROC);
    mutextest(core);
    BARRIER(barrier, NPROC);

    if (core == 1) printf("Done\n");

    return 0;
}