samples/bpf: xdp_monitor increase memory rlimit
Other concurrent running programs, like perf or the XDP program what needed to be monitored, might take up part of the max locked memory limit. Thus, the xdp_monitor tool have to set the RLIMIT_MEMLOCK to RLIM_INFINITY, as it cannot determine a more sane limit. Using the man exit(3) specified EXIT_FAILURE return exit code, and correct other users too. Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
280b058d48
commit
c4eb7f4643
1 changed files with 9 additions and 2 deletions
|
@ -20,6 +20,7 @@ static const char *__doc_err_only__=
|
|||
#include <unistd.h>
|
||||
#include <locale.h>
|
||||
|
||||
#include <sys/resource.h>
|
||||
#include <getopt.h>
|
||||
#include <net/if.h>
|
||||
#include <time.h>
|
||||
|
@ -295,6 +296,7 @@ static void print_bpf_prog_info(void)
|
|||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
|
||||
int longindex = 0, opt;
|
||||
int ret = EXIT_SUCCESS;
|
||||
char bpf_obj_file[256];
|
||||
|
@ -325,13 +327,18 @@ int main(int argc, char **argv)
|
|||
}
|
||||
}
|
||||
|
||||
if (setrlimit(RLIMIT_MEMLOCK, &r)) {
|
||||
perror("setrlimit(RLIMIT_MEMLOCK)");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (load_bpf_file(bpf_obj_file)) {
|
||||
printf("ERROR - bpf_log_buf: %s", bpf_log_buf);
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (!prog_fd[0]) {
|
||||
printf("ERROR - load_bpf_file: %s\n", strerror(errno));
|
||||
return 1;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (debug) {
|
||||
|
|
Loading…
Reference in a new issue