lkml.org 
[lkml]   [2020]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH bpf-next v2 35/35] perf: don't touch RLIMIT_MEMLOCK
Date
Since bpf stopped using memlock rlimit to limit the memory usage,
there is no more reason for perf to alter its own limit.

Signed-off-by: Roman Gushchin <guro@fb.com>
---
tools/perf/builtin-trace.c | 10 ----------
tools/perf/tests/builtin-test.c | 6 ------
tools/perf/util/Build | 1 -
tools/perf/util/rlimit.c | 29 -----------------------------
tools/perf/util/rlimit.h | 6 ------
5 files changed, 52 deletions(-)
delete mode 100644 tools/perf/util/rlimit.c
delete mode 100644 tools/perf/util/rlimit.h

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 4cbb64edc998..3d6a98a12537 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -19,7 +19,6 @@
#include <api/fs/tracing_path.h>
#include <bpf/bpf.h>
#include "util/bpf_map.h"
-#include "util/rlimit.h"
#include "builtin.h"
#include "util/cgroup.h"
#include "util/color.h"
@@ -4838,15 +4837,6 @@ int cmd_trace(int argc, const char **argv)
goto out;
}

- /*
- * Parsing .perfconfig may entail creating a BPF event, that may need
- * to create BPF maps, so bump RLIM_MEMLOCK as the default 64K setting
- * is too small. This affects just this process, not touching the
- * global setting. If it fails we'll get something in 'perf trace -v'
- * to help diagnose the problem.
- */
- rlimit__bump_memlock();
-
err = perf_config(trace__config, &trace);
if (err)
goto out;
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index da5b6cc23f25..e4efbba8202b 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -22,7 +22,6 @@
#include <subcmd/parse-options.h>
#include "string2.h"
#include "symbol.h"
-#include "util/rlimit.h"
#include <linux/kernel.h>
#include <linux/string.h>
#include <subcmd/exec-cmd.h>
@@ -794,11 +793,6 @@ int cmd_test(int argc, const char **argv)

if (skip != NULL)
skiplist = intlist__new(skip);
- /*
- * Tests that create BPF maps, for instance, need more than the 64K
- * default:
- */
- rlimit__bump_memlock();

return __cmd_test(argc, argv, skiplist);
}
diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 8d18380ecd10..4902cd3b3b58 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -26,7 +26,6 @@ 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
diff --git a/tools/perf/util/rlimit.c b/tools/perf/util/rlimit.c
deleted file mode 100644
index 13521d392a22..000000000000
--- a/tools/perf/util/rlimit.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1 */
-
-#include "util/debug.h"
-#include "util/rlimit.h"
-#include <sys/time.h>
-#include <sys/resource.h>
-
-/*
- * Bump the memlock so that we can get bpf maps of a reasonable size,
- * like the ones used with 'perf trace' and with 'perf test bpf',
- * improve this to some specific request if needed.
- */
-void rlimit__bump_memlock(void)
-{
- struct rlimit rlim;
-
- if (getrlimit(RLIMIT_MEMLOCK, &rlim) == 0) {
- rlim.rlim_cur *= 4;
- rlim.rlim_max *= 4;
-
- if (setrlimit(RLIMIT_MEMLOCK, &rlim) < 0) {
- rlim.rlim_cur /= 2;
- rlim.rlim_max /= 2;
-
- if (setrlimit(RLIMIT_MEMLOCK, &rlim) < 0)
- pr_debug("Couldn't bump rlimit(MEMLOCK), failures may take place when creating BPF maps, etc\n");
- }
- }
-}
diff --git a/tools/perf/util/rlimit.h b/tools/perf/util/rlimit.h
deleted file mode 100644
index 9f59d8e710a3..000000000000
--- a/tools/perf/util/rlimit.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __PERF_RLIMIT_H_
-#define __PERF_RLIMIT_H_
-/* SPDX-License-Identifier: LGPL-2.1 */
-
-void rlimit__bump_memlock(void);
-#endif // __PERF_RLIMIT_H_
--
2.26.2
\
 
 \ /
  Last update: 2020-07-27 20:48    [W:0.392 / U:1.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site