[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200914182756.GA22294@apalos.home>
Date: Mon, 14 Sep 2020 21:27:56 +0300
From: Ilias Apalodimas <ilias.apalodimas@...aro.org>
To: Xi Wang <xi.wang@...il.com>
Cc: Jesper Dangaard Brouer <brouer@...hat.com>,
Will Deacon <will@...nel.org>, bpf@...r.kernel.org,
ardb@...nel.org, naresh.kamboju@...aro.org,
Jean-Philippe Brucker <jean-philippe@...aro.org>,
Yauheni Kaliuta <yauheni.kaliuta@...hat.com>,
Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...nel.org>,
Zi Shen Lim <zlim.lnx@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
Andrii Nakryiko <andriin@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...omium.org>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Jesper Dangaard Brouer <hawk@...nel.org>,
netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Anders Roxell <anders.roxell@...aro.org>,
Björn Töpel <bjorn.topel@...il.com>,
Luke Nelson <luke.r.nels@...il.com>
Subject: Re: [PATCH] arm64: bpf: Fix branch offset in JIT
Hi Xi,
On Mon, Sep 14, 2020 at 11:08:13AM -0700, Xi Wang wrote:
> On Mon, Sep 14, 2020 at 10:55 AM Ilias Apalodimas
> <ilias.apalodimas@...aro.org> wrote:
> > We've briefly discussed this approach with Yauheni while coming up with the
> > posted patch.
> > I think that contructing the array correctly in the first place is better.
> > Right now it might only be used in bpf2a64_offset() and bpf_prog_fill_jited_linfo()
> > but if we fixup the values on the fly in there, everyone that intends to use the
> > offset for any reason will have to account for the missing instruction.
>
> I don't understand what you mean by "correctly." What's your correctness spec?
>
> I don't think there's some consistent semantics of "offsets" across
> the JITs of different architectures (maybe it's good to clean that
> up). RV64 and RV32 JITs are doing something similar to arm64 with
> respect to offsets. CCing Björn and Luke.
Even if that's true, is any reason at all why we should skip the first element
of the array, that's now needed since 7c2e988f400 to jump back to the first
instruction?
Introducing 2 extra if conditions and hotfix the array on the fly (and for
every future invocation of that), seems better to you?
Cheers
/Ilias
Powered by blists - more mailing lists