Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp4065726ybd; Tue, 25 Jun 2019 13:27:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqxTaIZgmRrn96YPIK3WHnfKnFbGhSGmDb4Z4E9etN4ed42YeCoUxeQygOHhJtndN09e+OZV X-Received: by 2002:a63:fc15:: with SMTP id j21mr7255769pgi.217.1561494446062; Tue, 25 Jun 2019 13:27:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561494446; cv=none; d=google.com; s=arc-20160816; b=icThfSdjVnOeSuYSvNa2MLCNXaEVNC0ywaBt/ao9khwrhEwu3G2Up2d3waeILta5s6 lxEDMiTrHAq/s1Pc1PRu4aiadj4fybaAdsYeMpEmuNccz06K2XjSShX6/AyOq86SCt0F pBOUhXIZ1Y6Nxpb0cZplja0bfPUK5AGbX3o44UhCqMuGz358wH8xHbtnEAE53ZeV715o puX7AdVlDNHnZGVYnrKhnRhWYHRx9gbfIv7T9JiGQu9ZtG//ASNP2IeOlFFONikLOV+T RRdFRYmjihEoVvqdhh8S/qqmg5R0Dx5tEkGbPRe4kZzl4jlkTyRkEgHQQ7HQZl44uobZ Xldw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=3dXZ1ZldviFyFOVz1FcLJwKSvcaZ1rjNgYTX6/8h5IQ=; b=Ah0EXFLWnhEknCKOGztCvGwjQL2mohPeLpX3aLmPkCNHoLl7m8dyV6vGUpAa4J7TWx 5KF+9LsWBkzJtBkIONYe+WrT1635X+JC0JmVl3gc+THvyqQvjLBtr4T3eLCkSsRRPmNR 9aGKsLghRGVHxKDw5SbhAzfVopDk6XHCgBcZkf8IBiD2Xtk3vyjHucWJ/YbszGyeMgLg X2EaM87FKwPnHO1vuN9owvxmBhtLuWpUoqOOZQlWHE61F1OiurickuGbhqOiPmq2mF6S z5DhswEcNvIcDinXY8IgW0mPbRcTUAlhaNxxUMXsh5paJcATtyfXo0zAewYK97BEu5O8 mL+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cs.washington.edu header.s=goo201206 header.b=X6YyqVl8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q2si126678pjq.89.2019.06.25.13.27.09; Tue, 25 Jun 2019 13:27:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@cs.washington.edu header.s=goo201206 header.b=X6YyqVl8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727519AbfFYU0e (ORCPT + 99 others); Tue, 25 Jun 2019 16:26:34 -0400 Received: from mail-io1-f65.google.com ([209.85.166.65]:42267 "EHLO mail-io1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726455AbfFYU0d (ORCPT ); Tue, 25 Jun 2019 16:26:33 -0400 Received: by mail-io1-f65.google.com with SMTP id u19so62975ior.9 for ; Tue, 25 Jun 2019 13:26:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.washington.edu; s=goo201206; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=3dXZ1ZldviFyFOVz1FcLJwKSvcaZ1rjNgYTX6/8h5IQ=; b=X6YyqVl8grKfhWkl+F5Utw8TrTHiNiBboyq2VqpLQiszWuDZHm0EGVYkSi7KNFcbHh sJ0bmiq9v4oDJn5lkdHCvyfBuOK6citsYJGGWMD21WP0IhuQOJ9vDctIGuA29imxU5Ok 1PvG9vtlWtIiLkZiFjfvNUmDTQCYgZg1qc82Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=3dXZ1ZldviFyFOVz1FcLJwKSvcaZ1rjNgYTX6/8h5IQ=; b=Mi3O4Fmbh18gaGaXyS3kffsiynw7cErzK+kqCAwGD3jSBu1u7zJP6ve4eWsZTgITAV 7gxylx9JSQf2vdHk39HzhVY/m4zoeZISOpht03wS8rle8+gkiZwuftlpKreG9wL5EiHQ xHXIjrFZtcZf//xwlQjfk67gDKVZrkp1IWdy24Rr3nWYGI+wS+NoQx588L2pRB9UoxpG cZvo/JikFHJDcdaifgsFYSdt6IS36jO4De7sWfik5Q9BoalzUTHrWAreoALU0XwJSz4t KjLdJ+vLF/pFWaGdoUS0xsPtF4Sw7U8e4Gg4nw9EnjKWk3Reio68cZXpnMUTKh7byF4L q/pw== X-Gm-Message-State: APjAAAVUGWwvTNFR3TS4xqos3fUYkw4RR58IoqcPrAdJO7rgFIuUvT4b BXzyLXZOYldHo0obntun/iTGsSvioO0YMpRmBDbiDpFQ+Vlkfw== X-Received: by 2002:a5e:940b:: with SMTP id q11mr577045ioj.251.1561494392480; Tue, 25 Jun 2019 13:26:32 -0700 (PDT) MIME-Version: 1.0 References: <20190621225938.27030-1-lukenels@cs.washington.edu> <87h88f9bm3.fsf@netronome.com> In-Reply-To: <87h88f9bm3.fsf@netronome.com> From: Luke Nelson Date: Tue, 25 Jun 2019 13:26:21 -0700 Message-ID: Subject: Re: [RFC PATCH bpf-next] RV32G eBPF JIT To: Jiong Wang Cc: Luke Nelson , Xi Wang , Palmer Dabbelt , Albert Ou , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Song Liu , Yonghong Song , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 24, 2019 at 9:45 AM Jiong Wang wrote= : > > Looks to me 32-bit optimization is not enabled. > > If you define bpf_jit_needs_zext to return true > > bool bpf_jit_needs_zext(void) > { > return true; > } > > Then you don't need to zero high 32-bit when writing 32-bit sub-register > and you just need to implement the explicit zero extension insn which is = a > special variant of BPF_MOV. This can save quite a few instructions. RV64 > and arches like arm has implemented this, please search > "aux->verifier_zext". > > And there is a doc for this optimization: > > https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/Doc= umentation/bpf/bpf_design_QA.rst#n168 Thanks for the pointer. I'll add this optimization before sending out an updated version of the patch. =E2=80=93 Luke