Re: [PATCH bpf-next 2/2] tools/bpf: change selftest test_btf for both jit and non-jit

2018-11-26 Thread Martin Lau
On Sat, Nov 24, 2018 at 11:20:45PM -0800, Yonghong Song wrote:
> The selftest test_btf is changed to test both jit and non-jit.
> The test result should be the same regardless of whether jit
> is enabled or not.
Acked-by: Martin KaFai Lau 


[PATCH bpf-next 2/2] tools/bpf: change selftest test_btf for both jit and non-jit

2018-11-24 Thread Yonghong Song
The selftest test_btf is changed to test both jit and non-jit.
The test result should be the same regardless of whether jit
is enabled or not.

Signed-off-by: Yonghong Song 
---
 tools/testing/selftests/bpf/test_btf.c | 33 +++---
 1 file changed, 3 insertions(+), 30 deletions(-)

diff --git a/tools/testing/selftests/bpf/test_btf.c 
b/tools/testing/selftests/bpf/test_btf.c
index bcbda7037840..b4c8725b3004 100644
--- a/tools/testing/selftests/bpf/test_btf.c
+++ b/tools/testing/selftests/bpf/test_btf.c
@@ -29,7 +29,6 @@
 static uint32_t pass_cnt;
 static uint32_t error_cnt;
 static uint32_t skip_cnt;
-static bool jit_enabled;
 
 #define CHECK(condition, format...) ({ \
int __ret = !!(condition);  \
@@ -65,24 +64,6 @@ static int __base_pr(const char *format, ...)
return err;
 }
 
-static bool is_jit_enabled(void)
-{
-   const char *jit_sysctl = "/proc/sys/net/core/bpf_jit_enable";
-   bool enabled = false;
-   int sysctl_fd;
-
-   sysctl_fd = open(jit_sysctl, 0, O_RDONLY);
-   if (sysctl_fd != -1) {
-   char tmpc;
-
-   if (read(sysctl_fd, , sizeof(tmpc)) == 1)
-   enabled = (tmpc != '0');
-   close(sysctl_fd);
-   }
-
-   return enabled;
-}
-
 #define BTF_INFO_ENC(kind, root, vlen) \
((!!(root) << 31) | ((kind) << 24) | ((vlen) & BTF_MAX_VLEN))
 
@@ -2547,8 +2528,8 @@ static int do_test_file(unsigned int test_num)
  test->btf_kv_notfound))
goto done;
 
-   if (!jit_enabled || !has_btf_ext)
-   goto skip_jit;
+   if (!has_btf_ext)
+   goto skip;
 
/* get necessary program info */
info_len = sizeof(struct bpf_prog_info);
@@ -2636,7 +2617,7 @@ static int do_test_file(unsigned int test_num)
finfo = (void *)finfo + rec_size;
}
 
-skip_jit:
+skip:
fprintf(stderr, "OK");
 
 done:
@@ -3270,12 +3251,6 @@ static int do_test_func_type(int test_num)
err = -1;
goto done;
}
-   if (!jit_enabled) {
-   skip_cnt++;
-   fprintf(stderr, "SKIPPED, please enable sysctl 
bpf_jit_enable\n");
-   err = 0;
-   goto done;
-   }
 
/* get necessary lens */
info_len = sizeof(struct bpf_prog_info);
@@ -3452,8 +3427,6 @@ int main(int argc, char **argv)
if (args.always_log)
libbpf_set_print(__base_pr, __base_pr, __base_pr);
 
-   jit_enabled = is_jit_enabled();
-
if (args.raw_test)
err |= test_raw();
 
-- 
2.17.1