[Top] [All Lists]

Re: [PATCH v2 0/5] MIPS: BPF: JIT fixes and improvements.

To: Alexei Starovoitov <>, David Daney <>
Subject: Re: [PATCH v2 0/5] MIPS: BPF: JIT fixes and improvements.
From: David Daney <>
Date: Tue, 14 Mar 2017 15:59:01 -0700
Authentication-results:; dkim=none (message not signed) header.d=none;; dmarc=none action=none;
Cc:,, James Hogan <>, Alexei Starovoitov <>,,, "Steven J. Hill" <>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Cxm2cyKMDx2nD+1vTdHp82ps4dLM9t341uUl7hrHLfU=; b=hfPwEuOH+sFqzAUJ+ZVw2jQBMidLXDZFLuXZOma11m+S3o0m+QCPWGN6HOjVby/0fKprVniDvIHa/YMYttQSTc/qIj/4mCfjkCeW1NydBqQmP24y2z9SE2nW1jcHywaJr1lfE8GlbHVe9o0wu+U9uiSqmT5DN07NckIlFhP/sJo=
In-reply-to: <>
List-archive: <>
List-help: <>
List-id: linux-mips <>
List-owner: <>
List-post: <>
List-software: Ecartis version 1.0.0
List-subscribe: <>
List-unsubscribe: <>
Original-recipient: rfc822;
References: <> <>
Spamdiagnosticmetadata: NSPM
Spamdiagnosticoutput: 1:99
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0
On 03/14/2017 03:49 PM, Alexei Starovoitov wrote:
On Tue, Mar 14, 2017 at 02:21:39PM -0700, David Daney wrote:
Changes from v1:

  - Use unsigned access for SKF_AD_HATYPE

  - Added three more patches for other problems found.

Testing the BPF JIT on Cavium OCTEON (mips64) with the test-bpf module
identified some failures and unimplemented features.

With this patch set we get:

     test_bpf: Summary: 305 PASSED, 0 FAILED, [85/297 JIT'ed]

Both big and little endian tested.

We still lack eBPF support, but this is better than nothing.

David Daney (5):
  MIPS: uasm:  Add support for LHU.
  MIPS: BPF: Add JIT support for SKF_AD_HATYPE.
  MIPS: BPF: Use unsigned access for unsigned SKB fields.
  MIPS: BPF: Quit clobbering callee saved registers in JIT code.
  MIPS: BPF: Fix multiple problems in JIT skb access helpers.

Thanks. Nice set of fixes. Especially patch 4.
Did you see crashes because of it?

Only when running the test-bpf module.

The "JMP_JA: Jump, gap, jump, ..." test doesn't actually use any registers, which I think is somewhat uncommon in BPF code. The system would either crash or have weird behavior after running this test.

Acked-by: Alexei Starovoitov <>

<Prev in Thread] Current Thread [Next in Thread>