Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1220124 > unrolled thread

Re: [PATCH 2/3] perf tests: Add arch tests

Started byJiri Olsa <jolsa@redhat.com>
First post2015-09-07 14:30 +0200
Last post2015-09-12 13:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 2/3] perf tests: Add arch tests Jiri Olsa <jolsa@redhat.com> - 2015-09-07 14:30 +0200
    Re: [PATCH 2/3] perf tests: Add arch tests Matt Fleming <matt@codeblueprint.co.uk> - 2015-09-12 13:10 +0200

#1220124 — Re: [PATCH 2/3] perf tests: Add arch tests

FromJiri Olsa <jolsa@redhat.com>
Date2015-09-07 14:30 +0200
SubjectRe: [PATCH 2/3] perf tests: Add arch tests
Message-ID<q63ID-5sL-37@gated-at.bofh.it>
On Sat, Sep 05, 2015 at 08:02:21PM +0100, Matt Fleming wrote:

SNIP

>  };
>  
> +static struct test *tests[] = {
> +	generic_tests,
> +	arch_tests,
> +};
> +
>  static bool perf_test__matches(struct test *test, int curr, int argc, const char *argv[])
>  {
>  	int i;
> @@ -237,7 +229,11 @@ static int run_test(struct test *test)
>  	return err;
>  }
>  
> -#define for_each_test(t)	 for (t = &tests[0]; t->func; t++)
> +static unsigned int ___j;		/* This is obviously not thread-safe */
> +
> +#define for_each_test(t)	 				\
> +	for (___j = 0; ___j < ARRAY_SIZE(tests); ___j++)	\
> +		for (t = &tests[___j][0]; t->func; t++)

why not have ____j on stack and pas it into for_each_test

for_each_test(j, t)                                     
...

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1223383

FromMatt Fleming <matt@codeblueprint.co.uk>
Date2015-09-12 13:10 +0200
Message-ID<q7QQV-77O-11@gated-at.bofh.it>
In reply to#1220124
On Mon, 07 Sep, at 02:28:14PM, Jiri Olsa wrote:
> On Sat, Sep 05, 2015 at 08:02:21PM +0100, Matt Fleming wrote:
> 
> SNIP
> 
> >  };
> >  
> > +static struct test *tests[] = {
> > +	generic_tests,
> > +	arch_tests,
> > +};
> > +
> >  static bool perf_test__matches(struct test *test, int curr, int argc, const char *argv[])
> >  {
> >  	int i;
> > @@ -237,7 +229,11 @@ static int run_test(struct test *test)
> >  	return err;
> >  }
> >  
> > -#define for_each_test(t)	 for (t = &tests[0]; t->func; t++)
> > +static unsigned int ___j;		/* This is obviously not thread-safe */
> > +
> > +#define for_each_test(t)	 				\
> > +	for (___j = 0; ___j < ARRAY_SIZE(tests); ___j++)	\
> > +		for (t = &tests[___j][0]; t->func; t++)
> 
> why not have ____j on stack and pas it into for_each_test
> 
> for_each_test(j, t)                                     
> ...

Right, I made a conscious decision to not do that because I didn't
want the caller to have to care about providing an iterator variable.
It also makes the diff slightly bigger.

But I don't feel that strongly about it, so I'll make this change.

-- 
Matt Fleming, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web