Re: [PATCH 09/12] perf test: Add 'brstack' test workload

Namhyung Kim
2022-11-16T23:07:08Z

Hi James,

On Wed, Nov 16, 2022 at 3:39 AM James Clark <james.clark@arm.com> wrote:
>
>
>
> 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;

Yep, that's more intuitive. Will change!

Thanks,
Namhyung