static const char      *size_str       = "1MB";
 static const char      *routine_str    = "all";
-static int             iterations      = 1;
+static int             nr_loops        = 1;
 static bool            use_cycles;
 static int             cycles_fd;
 
 static const struct option options[] = {
-       OPT_STRING('l', "size", &size_str, "1MB",
+       OPT_STRING('s', "size", &size_str, "1MB",
                    "Specify the size of the memory buffers. "
                    "Available units: B, KB, MB, GB and TB (case insensitive)"),
 
        OPT_STRING('r', "routine", &routine_str, "all",
                    "Specify the routine to run, \"all\" runs all available routines, \"help\" lists them"),
 
-       OPT_INTEGER('i', "iterations", &iterations,
-                   "Repeat the function this number of times"),
+       OPT_INTEGER('l', "nr_loops", &nr_loops,
+                   "Specify the number of loops to run. (default: 1)"),
 
        OPT_BOOLEAN('c', "cycles", &use_cycles,
                    "Use a cycles event instead of gettimeofday() to measure performance"),
                init_cycles();
 
        size = (size_t)perf_atoll((char *)size_str);
-       size_total = (double)size * iterations;
+       size_total = (double)size * nr_loops;
 
        if ((s64)size <= 0) {
                fprintf(stderr, "Invalid size:%s\n", size_str);
        fn(dst, src, size);
 
        cycle_start = get_cycles();
-       for (i = 0; i < iterations; ++i)
+       for (i = 0; i < nr_loops; ++i)
                fn(dst, src, size);
        cycle_end = get_cycles();
 
        fn(dst, src, size);
 
        BUG_ON(gettimeofday(&tv_start, NULL));
-       for (i = 0; i < iterations; ++i)
+       for (i = 0; i < nr_loops; ++i)
                fn(dst, src, size);
        BUG_ON(gettimeofday(&tv_end, NULL));
 
        free(src);
        free(dst);
 
-       return (double)(((double)size * iterations) / timeval2double(&tv_diff));
+       return (double)(((double)size * nr_loops) / timeval2double(&tv_diff));
 }
 
 struct routine memcpy_routines[] = {
        fn(dst, -1, size);
 
        cycle_start = get_cycles();
-       for (i = 0; i < iterations; ++i)
+       for (i = 0; i < nr_loops; ++i)
                fn(dst, i, size);
        cycle_end = get_cycles();
 
        fn(dst, -1, size);
 
        BUG_ON(gettimeofday(&tv_start, NULL));
-       for (i = 0; i < iterations; ++i)
+       for (i = 0; i < nr_loops; ++i)
                fn(dst, i, size);
        BUG_ON(gettimeofday(&tv_end, NULL));
 
        timersub(&tv_end, &tv_start, &tv_diff);
 
        free(dst);
-       return (double)(((double)size * iterations) / timeval2double(&tv_diff));
+       return (double)(((double)size * nr_loops) / timeval2double(&tv_diff));
 }
 
 static const char * const bench_mem_memset_usage[] = {
 
        OPT_STRING('L', "mb_proc_locked", &p0.mb_proc_locked_str,"MB", "process serialized/locked memory access (MBs), <= process_memory"),
        OPT_STRING('T', "mb_thread"     , &p0.mb_thread_str,    "MB", "thread  memory (MBs)"),
 
-       OPT_UINTEGER('l', "nr_loops"    , &p0.nr_loops,         "max number of loops to run"),
-       OPT_UINTEGER('s', "nr_secs"     , &p0.nr_secs,          "max number of seconds to run"),
+       OPT_UINTEGER('l', "nr_loops"    , &p0.nr_loops,         "max number of loops to run (default: unlimited)"),
+       OPT_UINTEGER('s', "nr_secs"     , &p0.nr_secs,          "max number of seconds to run (default: 5 secs)"),
        OPT_UINTEGER('u', "usleep"      , &p0.sleep_usecs,      "usecs to sleep per loop iteration"),
 
        OPT_BOOLEAN('R', "data_reads"   , &p0.data_reads,       "access the data via writes (can be mixed with -W)"),
 
 #define DATASIZE 100
 
 static bool use_pipes = false;
-static unsigned int loops = 100;
+static unsigned int nr_loops = 100;
 static bool thread_mode = false;
 static unsigned int num_groups = 10;
 
                err(EXIT_FAILURE, "poll");
 }
 
-/* Sender sprays loops messages down each file descriptor */
+/* Sender sprays nr_loops messages down each file descriptor */
 static void *sender(struct sender_context *ctx)
 {
        char data[DATASIZE];
        ready(ctx->ready_out, ctx->wakefd);
 
        /* Now pump to every receiver. */
-       for (i = 0; i < loops; i++) {
+       for (i = 0; i < nr_loops; i++) {
                for (j = 0; j < ctx->num_fds; j++) {
                        int ret, done = 0;
 
                /* Create the pipe between client and server */
                fdpair(fds);
 
-               ctx->num_packets = num_fds * loops;
+               ctx->num_packets = num_fds * nr_loops;
                ctx->in_fds[0] = fds[0];
                ctx->in_fds[1] = fds[1];
                ctx->ready_out = ready_out;
        OPT_BOOLEAN('t', "thread", &thread_mode,
                    "Be multi thread instead of multi process"),
        OPT_UINTEGER('g', "group", &num_groups, "Specify number of groups"),
-       OPT_UINTEGER('l', "loop", &loops, "Specify number of loops"),
+       OPT_UINTEGER('l', "nr_loops", &nr_loops, "Specify the number of loops to run (default: 100)"),
        OPT_END()
 };