Re: [PATCH 12/14] perf tests: Add test interface for dso data fd limit

From: Namhyung Kim
Date: Mon May 26 2014 - 21:10:49 EST


On Thu, 15 May 2014 19:23:33 +0200, Jiri Olsa wrote:
> Adding a way to setup test dso limit by global variable
> test_dso_data__fd_limit. It'll be used in the dso data
> cache tests.

Why is this needed? Why not justing setting RLIMIT_NOFILE in the test
cases?

Thanks,
Namhyung

>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/perf/util/dso.c | 5 +++++
> tools/perf/util/dso.h | 3 +++
> 2 files changed, 8 insertions(+)
>
> diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
> index 80b54e7..9310369 100644
> --- a/tools/perf/util/dso.c
> +++ b/tools/perf/util/dso.c
> @@ -7,6 +7,8 @@
> #include "util.h"
> #include "debug.h"
>
> +rlim_t test_dso_data__fd_limit;
> +
> char dso__symtab_origin(const struct dso *dso)
> {
> static const char origin[] = {
> @@ -262,6 +264,9 @@ static bool may_cache_fd(void)
> if (!limit)
> limit = get_fd_limit();
>
> + if (unlikely(test_dso_data__fd_limit))
> + limit = test_dso_data__fd_limit;
> +
> if (limit == RLIM_INFINITY)
> return true;
>
> diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h
> index d713184..3807014 100644
> --- a/tools/perf/util/dso.h
> +++ b/tools/perf/util/dso.h
> @@ -1,6 +1,7 @@
> #ifndef __PERF_DSO
> #define __PERF_DSO
>
> +#include <sys/resource.h>
> #include <linux/types.h>
> #include <linux/rbtree.h>
> #include <stdbool.h>
> @@ -8,6 +9,8 @@
> #include "map.h"
> #include "build-id.h"
>
> +extern rlim_t test_dso_data__fd_limit;
> +
> enum dso_binary_type {
> DSO_BINARY_TYPE__KALLSYMS = 0,
> DSO_BINARY_TYPE__GUEST_KALLSYMS,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/