Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1371367 > unrolled thread
| Started by | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| First post | 2016-04-05 12:10 +0200 |
| Last post | 2016-04-06 22:50 +0200 |
| Articles | 5 — 4 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH net 4/4] lib/test_bpf: Add additional BPF_ADD tests "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2016-04-05 12:10 +0200
Re: [PATCH net 4/4] lib/test_bpf: Add additional BPF_ADD tests Alexei Starovoitov <ast@fb.com> - 2016-04-05 18:30 +0200
Re: [PATCH net 4/4] lib/test_bpf: Add additional BPF_ADD tests "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> - 2016-04-05 19:00 +0200
Re: [PATCH net 4/4] lib/test_bpf: Add additional BPF_ADD tests Daniel Borkmann <daniel@iogearbox.net> - 2016-04-05 21:50 +0200
Re: [PATCH net 4/4] lib/test_bpf: Add additional BPF_ADD tests David Miller <davem@davemloft.net> - 2016-04-06 22:50 +0200
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2016-04-05 12:10 +0200 |
| Subject | [PATCH net 4/4] lib/test_bpf: Add additional BPF_ADD tests |
| Message-ID | <rkw5P-1sL-5@gated-at.bofh.it> |
Some of these tests proved useful with the powerpc eBPF JIT port due to
sign-extended 16-bit immediate loads. Though some of these aspects get
covered in other tests, it is better to have explicit tests so as to
quickly tag the precise problem.
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
---
lib/test_bpf.c | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
diff --git a/lib/test_bpf.c b/lib/test_bpf.c
index 2fb31aa..8f22fbe 100644
--- a/lib/test_bpf.c
+++ b/lib/test_bpf.c
@@ -2566,6 +2566,70 @@ static struct bpf_test tests[] = {
{ { 0, 0x1 } },
},
{
+ "ALU_ADD_K: 0 + 0xffff = 0xffff",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0xffff),
+ BPF_ALU32_IMM(BPF_ADD, R2, 0xffff),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
+ {
+ "ALU_ADD_K: 0 + 0x7fffffff = 0x7fffffff",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0x7fffffff),
+ BPF_ALU32_IMM(BPF_ADD, R2, 0x7fffffff),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
+ {
+ "ALU_ADD_K: 0 + 0x80000000 = 0x80000000",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0x80000000),
+ BPF_ALU32_IMM(BPF_ADD, R2, 0x80000000),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
+ {
+ "ALU_ADD_K: 0 + 0x80008000 = 0x80008000",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0x80008000),
+ BPF_ALU32_IMM(BPF_ADD, R2, 0x80008000),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
+ {
"ALU64_ADD_K: 1 + 2 = 3",
.u.insns_int = {
BPF_LD_IMM64(R0, 1),
@@ -2657,6 +2721,70 @@ static struct bpf_test tests[] = {
{ },
{ { 0, 0x1 } },
},
+ {
+ "ALU64_ADD_K: 0 + 0xffff = 0xffff",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0xffff),
+ BPF_ALU64_IMM(BPF_ADD, R2, 0xffff),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
+ {
+ "ALU64_ADD_K: 0 + 0x7fffffff = 0x7fffffff",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0x7fffffff),
+ BPF_ALU64_IMM(BPF_ADD, R2, 0x7fffffff),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
+ {
+ "ALU64_ADD_K: 0 + 0x80000000 = 0xffffffff80000000",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0xffffffff80000000LL),
+ BPF_ALU64_IMM(BPF_ADD, R2, 0x80000000),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
+ {
+ "ALU_ADD_K: 0 + 0x80008000 = 0xffffffff80008000",
+ .u.insns_int = {
+ BPF_LD_IMM64(R2, 0x0),
+ BPF_LD_IMM64(R3, 0xffffffff80008000LL),
+ BPF_ALU64_IMM(BPF_ADD, R2, 0x80008000),
+ BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
+ BPF_MOV32_IMM(R0, 2),
+ BPF_EXIT_INSN(),
+ BPF_MOV32_IMM(R0, 1),
+ BPF_EXIT_INSN(),
+ },
+ INTERNAL,
+ { },
+ { { 0, 0x1 } },
+ },
/* BPF_ALU | BPF_SUB | BPF_X */
{
"ALU_SUB_X: 3 - 1 = 2",
--
2.7.4
[toc] | [next] | [standalone]
| From | Alexei Starovoitov <ast@fb.com> |
|---|---|
| Date | 2016-04-05 18:30 +0200 |
| Message-ID | <rkC1C-6PL-57@gated-at.bofh.it> |
| In reply to | #1371367 |
On 4/5/16 3:02 AM, Naveen N. Rao wrote: > Some of these tests proved useful with the powerpc eBPF JIT port due to > sign-extended 16-bit immediate loads. Though some of these aspects get > covered in other tests, it is better to have explicit tests so as to > quickly tag the precise problem. > > Cc: Alexei Starovoitov <ast@fb.com> > Cc: Daniel Borkmann <daniel@iogearbox.net> > Cc: "David S. Miller" <davem@davemloft.net> > Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Paul Mackerras <paulus@samba.org> > Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Makes sense. Looks like ppc jit will be using quite a bit of available ppc instructions. Nice. I'm assuming all these new tests passed with x64 jit? Acked-by: Alexei Starovoitov <ast@kernel.org>
[toc] | [prev] | [next] | [standalone]
| From | "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> |
|---|---|
| Date | 2016-04-05 19:00 +0200 |
| Message-ID | <rkCuC-74o-1@gated-at.bofh.it> |
| In reply to | #1371772 |
On 2016/04/05 09:28AM, Alexei Starovoitov wrote: > On 4/5/16 3:02 AM, Naveen N. Rao wrote: > >Some of these tests proved useful with the powerpc eBPF JIT port due to > >sign-extended 16-bit immediate loads. Though some of these aspects get > >covered in other tests, it is better to have explicit tests so as to > >quickly tag the precise problem. > > > >Cc: Alexei Starovoitov <ast@fb.com> > >Cc: Daniel Borkmann <daniel@iogearbox.net> > >Cc: "David S. Miller" <davem@davemloft.net> > >Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> > >Cc: Michael Ellerman <mpe@ellerman.id.au> > >Cc: Paul Mackerras <paulus@samba.org> > >Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> > > Makes sense. Looks like ppc jit will be using quite a bit of > available ppc instructions. Nice. > > I'm assuming all these new tests passed with x64 jit? Yes, all these tests pass on x86_64. - Naveen
[toc] | [prev] | [next] | [standalone]
| From | Daniel Borkmann <daniel@iogearbox.net> |
|---|---|
| Date | 2016-04-05 21:50 +0200 |
| Message-ID | <rkF98-z8-11@gated-at.bofh.it> |
| In reply to | #1371367 |
On 04/05/2016 12:02 PM, Naveen N. Rao wrote: > Some of these tests proved useful with the powerpc eBPF JIT port due to > sign-extended 16-bit immediate loads. Though some of these aspects get > covered in other tests, it is better to have explicit tests so as to > quickly tag the precise problem. > > Cc: Alexei Starovoitov <ast@fb.com> > Cc: Daniel Borkmann <daniel@iogearbox.net> > Cc: "David S. Miller" <davem@davemloft.net> > Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Paul Mackerras <paulus@samba.org> > Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Thanks for adding these! Acked-by: Daniel Borkmann <daniel@iogearbox.net>
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2016-04-06 22:50 +0200 |
| Message-ID | <rl2yJ-16I-1@gated-at.bofh.it> |
| In reply to | #1371367 |
From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> Date: Tue, 5 Apr 2016 15:32:56 +0530 > Some of these tests proved useful with the powerpc eBPF JIT port due to > sign-extended 16-bit immediate loads. Though some of these aspects get > covered in other tests, it is better to have explicit tests so as to > quickly tag the precise problem. > > Cc: Alexei Starovoitov <ast@fb.com> > Cc: Daniel Borkmann <daniel@iogearbox.net> > Cc: "David S. Miller" <davem@davemloft.net> > Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Paul Mackerras <paulus@samba.org> > Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Applied.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web