Commit 55de1703 authored by Jesper Dangaard Brouer's avatar Jesper Dangaard Brouer Committed by David S. Miller

samples/bpf: adjust rlimit RLIMIT_MEMLOCK for traceex2, tracex3 and tracex4

Needed to adjust max locked memory RLIMIT_MEMLOCK for testing these bpf samples
as these are using more and larger maps than can fit in distro default 64Kbytes limit.
Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 89c9fea3
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <signal.h> #include <signal.h>
#include <linux/bpf.h> #include <linux/bpf.h>
#include <string.h> #include <string.h>
#include <sys/resource.h>
#include "libbpf.h" #include "libbpf.h"
#include "bpf_load.h" #include "bpf_load.h"
...@@ -112,6 +113,7 @@ static void int_exit(int sig) ...@@ -112,6 +113,7 @@ static void int_exit(int sig)
int main(int ac, char **argv) int main(int ac, char **argv)
{ {
struct rlimit r = {1024*1024, RLIM_INFINITY};
char filename[256]; char filename[256];
long key, next_key, value; long key, next_key, value;
FILE *f; FILE *f;
...@@ -119,6 +121,11 @@ int main(int ac, char **argv) ...@@ -119,6 +121,11 @@ int main(int ac, char **argv)
snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]); snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
if (setrlimit(RLIMIT_MEMLOCK, &r)) {
perror("setrlimit(RLIMIT_MEMLOCK)");
return 1;
}
signal(SIGINT, int_exit); signal(SIGINT, int_exit);
/* start 'ping' in the background to have some kfree_skb events */ /* start 'ping' in the background to have some kfree_skb events */
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <stdbool.h> #include <stdbool.h>
#include <string.h> #include <string.h>
#include <linux/bpf.h> #include <linux/bpf.h>
#include <sys/resource.h>
#include "libbpf.h" #include "libbpf.h"
#include "bpf_load.h" #include "bpf_load.h"
...@@ -112,11 +113,17 @@ static void print_hist(int fd) ...@@ -112,11 +113,17 @@ static void print_hist(int fd)
int main(int ac, char **argv) int main(int ac, char **argv)
{ {
struct rlimit r = {1024*1024, RLIM_INFINITY};
char filename[256]; char filename[256];
int i; int i;
snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]); snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
if (setrlimit(RLIMIT_MEMLOCK, &r)) {
perror("setrlimit(RLIMIT_MEMLOCK)");
return 1;
}
if (load_bpf_file(filename)) { if (load_bpf_file(filename)) {
printf("%s", bpf_log_buf); printf("%s", bpf_log_buf);
return 1; return 1;
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <string.h> #include <string.h>
#include <time.h> #include <time.h>
#include <linux/bpf.h> #include <linux/bpf.h>
#include <sys/resource.h>
#include "libbpf.h" #include "libbpf.h"
#include "bpf_load.h" #include "bpf_load.h"
...@@ -50,11 +52,17 @@ static void print_old_objects(int fd) ...@@ -50,11 +52,17 @@ static void print_old_objects(int fd)
int main(int ac, char **argv) int main(int ac, char **argv)
{ {
struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
char filename[256]; char filename[256];
int i; int i;
snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]); snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
if (setrlimit(RLIMIT_MEMLOCK, &r)) {
perror("setrlimit(RLIMIT_MEMLOCK, RLIM_INFINITY)");
return 1;
}
if (load_bpf_file(filename)) { if (load_bpf_file(filename)) {
printf("%s", bpf_log_buf); printf("%s", bpf_log_buf);
return 1; return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment