All of lore.kernel.org
 help / color / mirror / Atom feed
From: daniel@iogearbox.net (Daniel Borkmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] arm64: bpf: add BPF XADD instruction
Date: Wed, 11 Nov 2015 20:41:16 +0100	[thread overview]
Message-ID: <564399DC.6010209@iogearbox.net> (raw)
In-Reply-To: <20151111192352.GT17308@twins.programming.kicks-ass.net>

On 11/11/2015 08:23 PM, Peter Zijlstra wrote:
> On Wed, Nov 11, 2015 at 07:50:15PM +0100, Daniel Borkmann wrote:
>> Well, on that note, it's not like you just change the target to bpf in your
>> Makefile and can compile (& load into the kernel) anything you want with it.
>> You do have to write small, restricted programs from scratch for a specific
>> use-case with the limited set of helper functions and intrinsics that are
>> available from the kernel. So I don't think that "Programs that used to work
>> will now no longer work." holds if you regard it as such.
>
> So I don't get this argument. If everything is so targeted, then why are
> the BPF instructions an ABI.
>
> If OTOH you're expected to be able to transfer these small proglets,
> then too I would expect to transfer the source of these proglets.
>
> You cannot argue both ways.

Ohh, I think we were talking past each other. ;) So, yeah, you'd likely need
to add new intrinstics that then map to the existing BPF_XADD instructions,
and perhaps spill a warning when __sync_fetch_and_add() is being used to
advise the developer to switch to the new intrinstics instead. From kernel
ABI PoV nothing would change.

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Borkmann <daniel@iogearbox.net>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>,
	David Miller <davem@davemloft.net>,
	will.deacon@arm.com, arnd@arndb.de, yang.shi@linaro.org,
	linaro-kernel@lists.linaro.org, eric.dumazet@gmail.com,
	zlim.lnx@gmail.com, ast@kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, xi.wang@gmail.com,
	catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org,
	yhs@plumgrid.com, bblanco@plumgrid.com
Subject: Re: [PATCH 2/2] arm64: bpf: add BPF XADD instruction
Date: Wed, 11 Nov 2015 20:41:16 +0100	[thread overview]
Message-ID: <564399DC.6010209@iogearbox.net> (raw)
In-Reply-To: <20151111192352.GT17308@twins.programming.kicks-ass.net>

On 11/11/2015 08:23 PM, Peter Zijlstra wrote:
> On Wed, Nov 11, 2015 at 07:50:15PM +0100, Daniel Borkmann wrote:
>> Well, on that note, it's not like you just change the target to bpf in your
>> Makefile and can compile (& load into the kernel) anything you want with it.
>> You do have to write small, restricted programs from scratch for a specific
>> use-case with the limited set of helper functions and intrinsics that are
>> available from the kernel. So I don't think that "Programs that used to work
>> will now no longer work." holds if you regard it as such.
>
> So I don't get this argument. If everything is so targeted, then why are
> the BPF instructions an ABI.
>
> If OTOH you're expected to be able to transfer these small proglets,
> then too I would expect to transfer the source of these proglets.
>
> You cannot argue both ways.

Ohh, I think we were talking past each other. ;) So, yeah, you'd likely need
to add new intrinstics that then map to the existing BPF_XADD instructions,
and perhaps spill a warning when __sync_fetch_and_add() is being used to
advise the developer to switch to the new intrinstics instead. From kernel
ABI PoV nothing would change.

  reply	other threads:[~2015-11-11 19:41 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-10 22:41 [PATCH 0/2] arm64: bpf: add BPF_ST and BPF_XADD instructions support Yang Shi
2015-11-10 22:41 ` Yang Shi
2015-11-10 22:41 ` Yang Shi
2015-11-10 22:41 ` [PATCH 1/2] arm64: bpf: add 'store immediate' instruction Yang Shi
2015-11-10 22:41   ` Yang Shi
2015-11-11  2:45   ` Z Lim
2015-11-11  2:45     ` Z Lim
2015-11-11 12:12     ` Will Deacon
2015-11-11 12:12       ` Will Deacon
2015-11-11 12:39       ` Will Deacon
2015-11-11 12:39         ` Will Deacon
2015-11-12 19:33         ` Shi, Yang
2015-11-12 19:33           ` Shi, Yang
2015-11-13  3:45           ` Z Lim
2015-11-13  3:45             ` Z Lim
2015-11-23 19:34             ` Shi, Yang
2015-11-23 19:34               ` Shi, Yang
2015-11-10 22:41 ` [PATCH 2/2] arm64: bpf: add BPF XADD instruction Yang Shi
2015-11-10 22:41   ` Yang Shi
2015-11-11  0:08   ` Eric Dumazet
2015-11-11  0:08     ` Eric Dumazet
2015-11-11  0:26     ` Shi, Yang
2015-11-11  0:26       ` Shi, Yang
2015-11-11  0:42       ` Alexei Starovoitov
2015-11-11  0:42         ` Alexei Starovoitov
2015-11-11  2:52         ` Z Lim
2015-11-11  2:52           ` Z Lim
2015-11-11  8:49           ` Arnd Bergmann
2015-11-11  8:49             ` Arnd Bergmann
2015-11-11 10:24             ` Will Deacon
2015-11-11 10:24               ` Will Deacon
2015-11-11 10:42               ` Daniel Borkmann
2015-11-11 10:42                 ` Daniel Borkmann
2015-11-11 11:58                 ` Will Deacon
2015-11-11 11:58                   ` Will Deacon
2015-11-11 12:21                   ` Daniel Borkmann
2015-11-11 12:21                     ` Daniel Borkmann
2015-11-11 12:38                     ` Will Deacon
2015-11-11 12:38                       ` Will Deacon
2015-11-11 12:58                       ` Peter Zijlstra
2015-11-11 12:58                         ` Peter Zijlstra
2015-11-11 15:52                         ` Daniel Borkmann
2015-11-11 15:52                           ` Daniel Borkmann
2015-11-11 16:23                           ` Will Deacon
2015-11-11 16:23                             ` Will Deacon
2015-11-11 17:27                             ` Alexei Starovoitov
2015-11-11 17:27                               ` Alexei Starovoitov
2015-11-11 17:35                               ` David Miller
2015-11-11 17:35                                 ` David Miller
2015-11-11 17:44                                 ` Will Deacon
2015-11-11 17:44                                   ` Will Deacon
2015-11-11 19:01                                   ` David Miller
2015-11-11 19:01                                     ` David Miller
2015-11-11 17:57                                 ` Peter Zijlstra
2015-11-11 17:57                                   ` Peter Zijlstra
2015-11-11 18:11                                   ` Alexei Starovoitov
2015-11-11 18:11                                     ` Alexei Starovoitov
2015-11-11 18:31                                     ` Peter Zijlstra
2015-11-11 18:31                                       ` Peter Zijlstra
2015-11-11 18:41                                       ` Peter Zijlstra
2015-11-11 18:41                                         ` Peter Zijlstra
2015-11-11 18:44                                       ` Peter Zijlstra
2015-11-11 18:44                                         ` Peter Zijlstra
2015-11-11 18:54                                         ` Peter Zijlstra
2015-11-11 18:54                                           ` Peter Zijlstra
2015-11-11 19:55                                           ` Alexei Starovoitov
2015-11-11 19:55                                             ` Alexei Starovoitov
2015-11-11 22:21                                             ` Peter Zijlstra
2015-11-11 22:21                                               ` Peter Zijlstra
2015-11-11 23:40                                               ` Alexei Starovoitov
2015-11-11 23:40                                                 ` Alexei Starovoitov
2015-11-11 23:40                                                 ` Alexei Starovoitov
2015-11-12  8:57                                                 ` Peter Zijlstra
2015-11-12  8:57                                                   ` Peter Zijlstra
2015-11-11 18:50                                       ` Daniel Borkmann
2015-11-11 18:50                                         ` Daniel Borkmann
2015-11-11 19:04                                         ` David Miller
2015-11-11 19:04                                           ` David Miller
2015-11-11 19:23                                         ` Peter Zijlstra
2015-11-11 19:23                                           ` Peter Zijlstra
2015-11-11 19:41                                           ` Daniel Borkmann [this message]
2015-11-11 19:41                                             ` Daniel Borkmann
2015-11-11 18:46                                     ` Will Deacon
2015-11-11 18:46                                       ` Will Deacon
2015-11-11 19:01                                     ` David Miller
2015-11-11 19:01                                       ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=564399DC.6010209@iogearbox.net \
    --to=daniel@iogearbox.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.