Re: [RFC PATCH v3 23/37] bpf tools: Introduce bpf_load_program() to bpf.c

2015-05-18 Thread Arnaldo Carvalho de Melo
Em Mon, May 18, 2015 at 11:52:59AM -0700, Alexei Starovoitov escreveu:
> On 5/17/15 3:56 AM, Wang Nan wrote:
> >bpf_load_program() can be used to load bpf program into kernel. To make
> >loading faster, first try to load without logbuf. Try again with logbuf
> >if the first try failed.
> >
> >Signed-off-by: Wang Nan 
> ...
> >+attr.insn_cnt = (__u32)insns_cnt;
> >+attr.insns = ptr_to_u64((void *) insns);
> >+attr.license = ptr_to_u64((void *) license);
> 
> unnecessary casts?

And inconsistent at that, we don't need a space before the casted
variable.
 
> >+attr.log_buf = ptr_to_u64(NULL);
> >+attr.log_size = 0;
> >+attr.log_level = 0;
> >+attr.kern_version = kern_version;
> >+
> >+fd = sys_bpf(BPF_PROG_LOAD, , sizeof(attr));
> >+if ((fd >= 0) || !log_buf || !log_buf_sz)
> 
> unnecessary ()
> 
> >+return fd;
> >+
> >+/* Try again with log */
> >+attr.log_buf = ptr_to_u64(log_buf);
> >+attr.log_size = log_buf_sz;
> >+attr.log_level = 1;
> >+log_buf[0] = 0;
> >+return sys_bpf(BPF_PROG_LOAD, , sizeof(attr));
> 
> this part looks good. thank you for addressing the feedback from v1.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH v3 23/37] bpf tools: Introduce bpf_load_program() to bpf.c

2015-05-18 Thread Alexei Starovoitov

On 5/17/15 3:56 AM, Wang Nan wrote:

bpf_load_program() can be used to load bpf program into kernel. To make
loading faster, first try to load without logbuf. Try again with logbuf
if the first try failed.

Signed-off-by: Wang Nan 

...

+   attr.insn_cnt = (__u32)insns_cnt;
+   attr.insns = ptr_to_u64((void *) insns);
+   attr.license = ptr_to_u64((void *) license);


unnecessary casts?


+   attr.log_buf = ptr_to_u64(NULL);
+   attr.log_size = 0;
+   attr.log_level = 0;
+   attr.kern_version = kern_version;
+
+   fd = sys_bpf(BPF_PROG_LOAD, , sizeof(attr));
+   if ((fd >= 0) || !log_buf || !log_buf_sz)


unnecessary ()


+   return fd;
+
+   /* Try again with log */
+   attr.log_buf = ptr_to_u64(log_buf);
+   attr.log_size = log_buf_sz;
+   attr.log_level = 1;
+   log_buf[0] = 0;
+   return sys_bpf(BPF_PROG_LOAD, , sizeof(attr));


this part looks good. thank you for addressing the feedback from v1.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH v3 23/37] bpf tools: Introduce bpf_load_program() to bpf.c

2015-05-18 Thread Alexei Starovoitov

On 5/17/15 3:56 AM, Wang Nan wrote:

bpf_load_program() can be used to load bpf program into kernel. To make
loading faster, first try to load without logbuf. Try again with logbuf
if the first try failed.

Signed-off-by: Wang Nan wangn...@huawei.com

...

+   attr.insn_cnt = (__u32)insns_cnt;
+   attr.insns = ptr_to_u64((void *) insns);
+   attr.license = ptr_to_u64((void *) license);


unnecessary casts?


+   attr.log_buf = ptr_to_u64(NULL);
+   attr.log_size = 0;
+   attr.log_level = 0;
+   attr.kern_version = kern_version;
+
+   fd = sys_bpf(BPF_PROG_LOAD, attr, sizeof(attr));
+   if ((fd = 0) || !log_buf || !log_buf_sz)


unnecessary ()


+   return fd;
+
+   /* Try again with log */
+   attr.log_buf = ptr_to_u64(log_buf);
+   attr.log_size = log_buf_sz;
+   attr.log_level = 1;
+   log_buf[0] = 0;
+   return sys_bpf(BPF_PROG_LOAD, attr, sizeof(attr));


this part looks good. thank you for addressing the feedback from v1.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH v3 23/37] bpf tools: Introduce bpf_load_program() to bpf.c

2015-05-18 Thread Arnaldo Carvalho de Melo
Em Mon, May 18, 2015 at 11:52:59AM -0700, Alexei Starovoitov escreveu:
 On 5/17/15 3:56 AM, Wang Nan wrote:
 bpf_load_program() can be used to load bpf program into kernel. To make
 loading faster, first try to load without logbuf. Try again with logbuf
 if the first try failed.
 
 Signed-off-by: Wang Nan wangn...@huawei.com
 ...
 +attr.insn_cnt = (__u32)insns_cnt;
 +attr.insns = ptr_to_u64((void *) insns);
 +attr.license = ptr_to_u64((void *) license);
 
 unnecessary casts?

And inconsistent at that, we don't need a space before the casted
variable.
 
 +attr.log_buf = ptr_to_u64(NULL);
 +attr.log_size = 0;
 +attr.log_level = 0;
 +attr.kern_version = kern_version;
 +
 +fd = sys_bpf(BPF_PROG_LOAD, attr, sizeof(attr));
 +if ((fd = 0) || !log_buf || !log_buf_sz)
 
 unnecessary ()
 
 +return fd;
 +
 +/* Try again with log */
 +attr.log_buf = ptr_to_u64(log_buf);
 +attr.log_size = log_buf_sz;
 +attr.log_level = 1;
 +log_buf[0] = 0;
 +return sys_bpf(BPF_PROG_LOAD, attr, sizeof(attr));
 
 this part looks good. thank you for addressing the feedback from v1.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/