Messages in this thread | | | Date | Wed, 16 Nov 2022 11:39:29 +0000 | Subject | Re: [PATCH 09/12] perf test: Add 'brstack' test workload | From | James Clark <> |
| |
On 10/11/2022 18:19, Namhyung Kim wrote: [...] > + > +#define BENCH_RUNS 999999 > + > +static volatile int cnt; > + > +static void brstack_bar(void) { > +} /* return */ > + > +static void brstack_foo(void) { > + brstack_bar(); /* call */ > +} /* return */ > + > +static void brstack_bench(void) { > + void (*brstack_foo_ind)(void) = brstack_foo; > + > + if ((cnt++) % 3) /* branch (cond) */ > + brstack_foo(); /* call */ > + brstack_bar(); /* call */ > + brstack_foo_ind(); /* call (ind) */ > +} > + > +static int brstack(int argc, const char **argv) > +{ > + if (argc > 0) > + cnt = atoi(argv[0]); > + > + while (1) { > + if ((cnt++) > BENCH_RUNS) > + break;
Hi Namhyung,
I'm reading this as you can specify the number of loops as an argument.
In that case should it be more like this?
int num_loops = argc>0 ? atoi(argv[0]) : BENCH_RUNS;
if ((cnt++) > num_loops) break;
> + brstack_bench();/* call */ > + } /* branch (uncond) */ > + return 0; > +} > + > +DEFINE_WORKLOAD(brstack);
| |