linux-yocto/tools/perf/util/Build
Arnaldo Carvalho de Melo 4975223b81 perf tools: Introduce rlimit__bump_memlock() helper
Just like the BPF guys did when faced with failures with map creation,
etc, i.e. their solution is:

  tools/testing/selftests/bpf/bpf_rlimit.h

For perf use this function in 'perf test' and in 'perf trace'.

Make it bump to 4 times the current value, if it fails twice the current
value and if it still fails, warn that things like BPF map creation may
fail, to help in diagnosing the problem.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-muvqef2i7n6pzqbmu7tn2d2y@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-07-09 14:59:11 -03:00

6.8 KiB

perf-y += annotate.o perf-y += block-range.o perf-y += build-id.o perf-y += config.o perf-y += ctype.o perf-y += db-export.o perf-y += env.o perf-y += event.o perf-y += evlist.o perf-y += evsel.o perf-y += evsel_fprintf.o perf-y += find_bit.o perf-y += get_current_dir_name.o perf-y += kallsyms.o perf-y += levenshtein.o perf-y += llvm-utils.o perf-y += mmap.o perf-y += memswap.o perf-y += parse-events.o perf-y += perf_regs.o perf-y += path.o perf-y += print_binary.o perf-y += rlimit.o perf-y += argv_split.o perf-y += rbtree.o perf-y += libstring.o perf-y += bitmap.o perf-y += hweight.o perf-y += zalloc.o perf-y += smt.o perf-y += strbuf.o perf-y += string.o perf-y += strlist.o perf-y += strfilter.o perf-y += top.o perf-y += usage.o perf-y += dso.o perf-y += symbol.o perf-y += symbol_fprintf.o perf-y += color.o perf-y += color_config.o perf-y += metricgroup.o perf-y += header.o perf-y += callchain.o perf-y += values.o perf-y += debug.o perf-y += machine.o perf-y += map.o perf-y += pstack.o perf-y += session.o perf-y += sample-raw.o perf-y += s390-sample-raw.o perf-$(CONFIG_TRACE) += syscalltbl.o perf-y += ordered-events.o perf-y += namespaces.o perf-y += comm.o perf-y += thread.o perf-y += thread_map.o perf-y += trace-event-parse.o perf-y += parse-events-flex.o perf-y += parse-events-bison.o perf-y += pmu.o perf-y += pmu-flex.o perf-y += pmu-bison.o perf-y += trace-event-read.o perf-y += trace-event-info.o perf-y += trace-event-scripting.o perf-y += trace-event.o perf-y += svghelper.o perf-y += sort.o perf-y += hist.o perf-y += util.o perf-y += xyarray.o perf-y += cpumap.o perf-y += cputopo.o perf-y += cgroup.o perf-y += target.o perf-y += rblist.o perf-y += intlist.o perf-y += vdso.o perf-y += counts.o perf-y += stat.o perf-y += stat-shadow.o perf-y += stat-display.o perf-y += record.o perf-y += srcline.o perf-y += srccode.o perf-y += data.o perf-y += tsc.o perf-y += cloexec.o perf-y += call-path.o perf-y += rwsem.o perf-y += thread-stack.o perf-$(CONFIG_AUXTRACE) += auxtrace.o perf-$(CONFIG_AUXTRACE) += intel-pt-decoder/ perf-$(CONFIG_AUXTRACE) += intel-pt.o perf-$(CONFIG_AUXTRACE) += intel-bts.o perf-$(CONFIG_AUXTRACE) += arm-spe.o perf-$(CONFIG_AUXTRACE) += arm-spe-pkt-decoder.o perf-$(CONFIG_AUXTRACE) += s390-cpumsf.o

ifdef CONFIG_LIBOPENCSD perf-$(CONFIG_AUXTRACE) += cs-etm.o perf-$(CONFIG_AUXTRACE) += cs-etm-decoder/ endif

perf-y += parse-branch-options.o perf-y += dump-insn.o perf-y += parse-regs-options.o perf-y += term.o perf-y += help-unknown-cmd.o perf-y += mem-events.o perf-y += vsprintf.o perf-y += units.o perf-y += time-utils.o perf-y += expr-bison.o perf-y += branch.o perf-y += mem2node.o

perf-$(CONFIG_LIBBPF) += bpf-loader.o perf-$(CONFIG_LIBBPF) += bpf_map.o perf-$(CONFIG_BPF_PROLOGUE) += bpf-prologue.o perf-$(CONFIG_LIBELF) += symbol-elf.o perf-$(CONFIG_LIBELF) += probe-file.o perf-$(CONFIG_LIBELF) += probe-event.o

ifndef CONFIG_LIBELF perf-y += symbol-minimal.o endif

ifndef CONFIG_SETNS perf-y += setns.o endif

perf-$(CONFIG_DWARF) += probe-finder.o perf-$(CONFIG_DWARF) += dwarf-aux.o perf-$(CONFIG_DWARF) += dwarf-regs.o

perf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o perf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind-local.o perf-$(CONFIG_LIBUNWIND) += unwind-libunwind.o perf-$(CONFIG_LIBUNWIND_X86) += libunwind/x86_32.o perf-$(CONFIG_LIBUNWIND_AARCH64) += libunwind/arm64.o

perf-$(CONFIG_LIBBABELTRACE) += data-convert-bt.o

perf-y += scripting-engines/

perf-$(CONFIG_ZLIB) += zlib.o perf-$(CONFIG_LZMA) += lzma.o perf-$(CONFIG_ZSTD) += zstd.o

perf-y += demangle-java.o perf-y += demangle-rust.o

ifdef CONFIG_JITDUMP perf-$(CONFIG_LIBELF) += jitdump.o perf-$(CONFIG_LIBELF) += genelf.o perf-$(CONFIG_DWARF) += genelf_debug.o endif

perf-y += perf-hooks.o

perf-$(CONFIG_LIBBPF) += bpf-event.o

perf-$(CONFIG_CXX) += c++/

CFLAGS_config.o += -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))" CFLAGS_llvm-utils.o += -DPERF_INCLUDE_DIR="BUILD_STR($(perf_include_dir_SQ))"

avoid compiler warnings in 32-bit mode

CFLAGS_genelf_debug.o += -Wno-packed

$(OUTPUT)util/parse-events-flex.c: util/parse-events.l $(OUTPUT)util/parse-events-bison.c $(call rule_mkdir) $(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) util/parse-events.l

$(OUTPUT)util/parse-events-bison.c: util/parse-events.y $(call rule_mkdir) $(Q)$(call echo-cmd,bison)$(BISON) -v util/parse-events.y -d $(PARSER_DEBUG_BISON) -o $@ -p parse_events_

$(OUTPUT)util/expr-bison.c: util/expr.y $(call rule_mkdir) $(Q)$(call echo-cmd,bison)$(BISON) -v util/expr.y -d $(PARSER_DEBUG_BISON) -o $@ -p expr__

$(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c $(call rule_mkdir) $(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/pmu-flex.h util/pmu.l

$(OUTPUT)util/pmu-bison.c: util/pmu.y $(call rule_mkdir) $(Q)$(call echo-cmd,bison)$(BISON) -v util/pmu.y -d -o $@ -p perf_pmu_

CFLAGS_parse-events-flex.o += -w CFLAGS_pmu-flex.o += -w CFLAGS_parse-events-bison.o += -DYYENABLE_NLS=0 -w CFLAGS_pmu-bison.o += -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w CFLAGS_expr-bison.o += -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w

$(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c $(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c

CFLAGS_bitmap.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))" CFLAGS_find_bit.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))" CFLAGS_rbtree.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))" CFLAGS_libstring.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))" CFLAGS_hweight.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))" CFLAGS_parse-events.o += -Wno-redundant-decls CFLAGS_header.o += -include $(OUTPUT)PERF-VERSION-FILE

$(OUTPUT)util/kallsyms.o: ../lib/symbol/kallsyms.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/argv_split.o: ../lib/argv_split.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/bitmap.o: ../lib/bitmap.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/ctype.o: ../lib/ctype.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/find_bit.o: ../lib/find_bit.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/rbtree.o: ../lib/rbtree.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/libstring.o: ../lib/string.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/hweight.o: ../lib/hweight.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/vsprintf.o: ../lib/vsprintf.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)

$(OUTPUT)util/zalloc.o: ../lib/zalloc.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c)