From: "Jose E. Marchesi" <jemarch@gnu.org>
To: Erik Kline <ek.ietf@gmail.com>
Cc: David Vernet <void@manifault.com>,
Dave Thaler <dthaler@microsoft.com>,
"bpf@ietf.org" <bpf@ietf.org>, bpf <bpf@vger.kernel.org>,
"Suresh Krishnan (sureshk)" <sureshk@cisco.com>,
Christoph Hellwig <hch@infradead.org>,
Alexei Starovoitov <ast@kernel.org>
Subject: Re: [Bpf] IETF BPF working group draft charter
Date: Tue, 23 May 2023 21:47:03 +0200 [thread overview]
Message-ID: <87leheu8y0.fsf@gnu.org> (raw)
In-Reply-To: <CAMGpriVpc5qdtqAObO1nu64kidt6C4UFp_FJ_Ht+DThMHNX-CQ@mail.gmail.com> (Erik Kline's message of "Tue, 23 May 2023 12:42:03 -0700")
> how about if we pull ABI but leave ELF?
The ELF architecture-specific configuration and extensions are
traditionally part of the psABI. Chapter 4 Object Files.
>
> On Tue, May 23, 2023 at 12:08 PM David Vernet <void@manifault.com> wrote:
>>
>> On Tue, May 23, 2023 at 12:15:35PM -0500, David Vernet wrote:
>> > On Tue, May 23, 2023 at 04:50:42PM +0000, Dave Thaler wrote:
>> > > > -----Original Message-----
>> > > > From: David Vernet <void@manifault.com>
>> > > > Sent: Tuesday, May 23, 2023 9:32 AM
>> > > > To: Dave Thaler <dthaler@microsoft.com>
>> > > > Cc: Jose E. Marchesi <jemarch@gnu.org>; bpf@ietf.org; bpf
>> > > > <bpf@vger.kernel.org>; Erik Kline <ek.ietf@gmail.com>; Suresh Krishnan
>> > > > (sureshk) <sureshk@cisco.com>; Christoph Hellwig <hch@infradead.org>;
>> > > > Alexei Starovoitov <ast@kernel.org>
>> > > > Subject: Re: [Bpf] IETF BPF working group draft charter
>> > > >
>> > > > On Thu, May 18, 2023 at 07:42:11PM +0000, Dave Thaler wrote:
>> > > > > Jose E. Marchesi <jemarch@gnu.org> wrote:
>> > > > > > I would think that the way the x86_64, aarch64, risc-v, sparc, mips,
>> > > > > > powerpc architectures, along with their variants, handle their ELF
>> > > > > > extensions and psABI, ensures interoperability good enough for the
>> > > > problem at hand, but ok.
>> > > > > > I'm definitely not an expert in these matters.
>> > > > >
>> > > > > I am not familiar enough with those to make any comment about that.
>> > > >
>> > > > Hi Dave,
>> > > >
>> > > > Taking a step back here, perhaps we need to think about all of this more
>> > > > generically as "ABI", rather than ELF "extensions", "bindings", etc. In my
>> > > > opinion this would include, at a minimum, the following items from the current
>> > > > proposed WG charter:
>> > > >
>> > > > * the eBPF bindings for the ELF executable file format,
>> > > >
>> > > > * the platform support ABI, including calling convention, linker
>> > > > requirements, and relocations,
>> > > >
>> > > > As far as I know (please correct me if I'm wrong), there isn't really a precedence
>> > > > for standardizing ABIs like this. For example, x86 calling conventions are not
>> > > > standardized. Solaris, Linux, FreeBSD, macOS, etc all follow the System V
>> > > > AMD64 ABI, but Microsoft of course does not. As Jose pointed out, such
>> > > > standards extensions do not exist for psABI ELF extensions for various
>> > > > architectures either.
>> > > >
>> > > > While it may be that we do end up needing to standardize these ABIs for BPF,
>> > > > I'm beginning to think that we should just remove them from the current WG
>> > > > charter, and consider standardizing them at a later time if it's clear that it's
>> > > > actually necessary. I think this is especially true given that we don't seem to be
>> > > > getting any closer to having consensus, and that we're very short on time given
>> > > > that Erik is going to be proposing the charter to the rest of the ADs in just two
>> > > > days on 5/25.
>> > > >
>> > > > Thanks,
>> > > > David
>> > >
>> > > I can tell you it's very important to those who work on the
>> > > ebpf-for-windows project that the ELF format is common between
>> > > Linux and Windows so that tools like
>> > > llvm-objdump and bpftool and other BPF-specific ELF parsing tools work for both
>> > > Linux and Windows. We don't want Windows to diverge.
>> >
>> > Be that as it may, as I said before, to my knowledge there's no
>> > precedence at all for standardizing ABI like this. Is there a reason
>> > that you think Windows would diverge if we didn't standardize the ABI?
>> >
>> > I realize that I'm essentially saying, "Hey, pretend there's a standard
>> > and don't diverge", but if that's what the entire rest of the industry
>> > has done up until this point with all other psABIs, then it seems like a
>> > reasonable expectation.
>> >
>> > > As such, I feel strongly that it is a requirement to be standardized right away.
>> >
>> > I have to respectfully disagree. I think there are much bigger fish to
>> > fry, such as standardizing the ISA. Unless we really have a good reason
>> > for diverging from industry norms, standardizing on ABI now feels to me
>> > like we're putting the cart before the horse.
>>
>> Hi Dave et al,
>>
>> FYI, I just sent out a GitHub PR to remove these lines from the proposed
>> WG charter: https://github.com/ekline/bpf/pull/5/files. I thought it was
>> prudent to go ahead and open the PR now given how close we are to the
>> 5/25 meeting, and that we don't seem to be any closer to getting
>> consensus here.
>>
>> We can (and should) continue the discussion here, but my two cents is
>> that unless there's a strong reason to keep ABI standardization within
>> scope of the WG, that it makes sense to remove these bullets.
>>
>> That said, if the discussion dies down and/or doesn't continue, IMHO it
>> would be prudent to merge the PR. I don't think our default position
>> should be to deviate from well-established industry-wide precedence,
>> with the onus being on those advocating for following industry norms to
>> prove that we don't need to discuss it. Again, I may be missing some
>> important context here, so apologies if that's the case.
>>
>> Thanks,
>> David
>>
>> > Just to be very clear: I could be totally wrong here, and it could be
>> > very important to deviate from industry norms and standardize ABI as
>> > part of the initial WG charter. However, IMHO, a positive claim like
>> > that needs to come with clear substantiation. The reality is that
>> > deviating from industry norms and standardizing on ABI will have its own
>> > costs and consequences.
>> >
>> > > Hence I would not want this removed from the charter unless there's an effort
>> > > to do it somewhere else right away, which would seem to increase the coordination
>> > > burden.
WARNING: multiple messages have this Message-ID (diff)
From: "Jose E. Marchesi" <jemarch@gnu.org>
To: Erik Kline <ek.ietf@gmail.com>
Cc: David Vernet <void@manifault.com>,
Dave Thaler <dthaler@microsoft.com>,
"bpf@ietf.org" <bpf@ietf.org>, bpf <bpf@vger.kernel.org>,
"Suresh Krishnan (sureshk)" <sureshk@cisco.com>,
Christoph Hellwig <hch@infradead.org>,
Alexei Starovoitov <ast@kernel.org>
Subject: Re: [Bpf] IETF BPF working group draft charter
Date: Tue, 23 May 2023 21:47:03 +0200 [thread overview]
Message-ID: <87leheu8y0.fsf@gnu.org> (raw)
Message-ID: <20230523194703.Vq76Mi8Ih0fJurUD5AgRRQVcwu3Q7FufUsvynBmxCD8@z> (raw)
In-Reply-To: <CAMGpriVpc5qdtqAObO1nu64kidt6C4UFp_FJ_Ht+DThMHNX-CQ@mail.gmail.com> (Erik Kline's message of "Tue, 23 May 2023 12:42:03 -0700")
> how about if we pull ABI but leave ELF?
The ELF architecture-specific configuration and extensions are
traditionally part of the psABI. Chapter 4 Object Files.
>
> On Tue, May 23, 2023 at 12:08 PM David Vernet <void@manifault.com> wrote:
>>
>> On Tue, May 23, 2023 at 12:15:35PM -0500, David Vernet wrote:
>> > On Tue, May 23, 2023 at 04:50:42PM +0000, Dave Thaler wrote:
>> > > > -----Original Message-----
>> > > > From: David Vernet <void@manifault.com>
>> > > > Sent: Tuesday, May 23, 2023 9:32 AM
>> > > > To: Dave Thaler <dthaler@microsoft.com>
>> > > > Cc: Jose E. Marchesi <jemarch@gnu.org>; bpf@ietf.org; bpf
>> > > > <bpf@vger.kernel.org>; Erik Kline <ek.ietf@gmail.com>; Suresh Krishnan
>> > > > (sureshk) <sureshk@cisco.com>; Christoph Hellwig <hch@infradead.org>;
>> > > > Alexei Starovoitov <ast@kernel.org>
>> > > > Subject: Re: [Bpf] IETF BPF working group draft charter
>> > > >
>> > > > On Thu, May 18, 2023 at 07:42:11PM +0000, Dave Thaler wrote:
>> > > > > Jose E. Marchesi <jemarch@gnu.org> wrote:
>> > > > > > I would think that the way the x86_64, aarch64, risc-v, sparc, mips,
>> > > > > > powerpc architectures, along with their variants, handle their ELF
>> > > > > > extensions and psABI, ensures interoperability good enough for the
>> > > > problem at hand, but ok.
>> > > > > > I'm definitely not an expert in these matters.
>> > > > >
>> > > > > I am not familiar enough with those to make any comment about that.
>> > > >
>> > > > Hi Dave,
>> > > >
>> > > > Taking a step back here, perhaps we need to think about all of this more
>> > > > generically as "ABI", rather than ELF "extensions", "bindings", etc. In my
>> > > > opinion this would include, at a minimum, the following items from the current
>> > > > proposed WG charter:
>> > > >
>> > > > * the eBPF bindings for the ELF executable file format,
>> > > >
>> > > > * the platform support ABI, including calling convention, linker
>> > > > requirements, and relocations,
>> > > >
>> > > > As far as I know (please correct me if I'm wrong), there isn't really a precedence
>> > > > for standardizing ABIs like this. For example, x86 calling conventions are not
>> > > > standardized. Solaris, Linux, FreeBSD, macOS, etc all follow the System V
>> > > > AMD64 ABI, but Microsoft of course does not. As Jose pointed out, such
>> > > > standards extensions do not exist for psABI ELF extensions for various
>> > > > architectures either.
>> > > >
>> > > > While it may be that we do end up needing to standardize these ABIs for BPF,
>> > > > I'm beginning to think that we should just remove them from the current WG
>> > > > charter, and consider standardizing them at a later time if it's clear that it's
>> > > > actually necessary. I think this is especially true given that we don't seem to be
>> > > > getting any closer to having consensus, and that we're very short on time given
>> > > > that Erik is going to be proposing the charter to the rest of the ADs in just two
>> > > > days on 5/25.
>> > > >
>> > > > Thanks,
>> > > > David
>> > >
>> > > I can tell you it's very important to those who work on the
>> > > ebpf-for-windows project that the ELF format is common between
>> > > Linux and Windows so that tools like
>> > > llvm-objdump and bpftool and other BPF-specific ELF parsing tools work for both
>> > > Linux and Windows. We don't want Windows to diverge.
>> >
>> > Be that as it may, as I said before, to my knowledge there's no
>> > precedence at all for standardizing ABI like this. Is there a reason
>> > that you think Windows would diverge if we didn't standardize the ABI?
>> >
>> > I realize that I'm essentially saying, "Hey, pretend there's a standard
>> > and don't diverge", but if that's what the entire rest of the industry
>> > has done up until this point with all other psABIs, then it seems like a
>> > reasonable expectation.
>> >
>> > > As such, I feel strongly that it is a requirement to be standardized right away.
>> >
>> > I have to respectfully disagree. I think there are much bigger fish to
>> > fry, such as standardizing the ISA. Unless we really have a good reason
>> > for diverging from industry norms, standardizing on ABI now feels to me
>> > like we're putting the cart before the horse.
>>
>> Hi Dave et al,
>>
>> FYI, I just sent out a GitHub PR to remove these lines from the proposed
>> WG charter: https://github.com/ekline/bpf/pull/5/files. I thought it was
>> prudent to go ahead and open the PR now given how close we are to the
>> 5/25 meeting, and that we don't seem to be any closer to getting
>> consensus here.
>>
>> We can (and should) continue the discussion here, but my two cents is
>> that unless there's a strong reason to keep ABI standardization within
>> scope of the WG, that it makes sense to remove these bullets.
>>
>> That said, if the discussion dies down and/or doesn't continue, IMHO it
>> would be prudent to merge the PR. I don't think our default position
>> should be to deviate from well-established industry-wide precedence,
>> with the onus being on those advocating for following industry norms to
>> prove that we don't need to discuss it. Again, I may be missing some
>> important context here, so apologies if that's the case.
>>
>> Thanks,
>> David
>>
>> > Just to be very clear: I could be totally wrong here, and it could be
>> > very important to deviate from industry norms and standardize ABI as
>> > part of the initial WG charter. However, IMHO, a positive claim like
>> > that needs to come with clear substantiation. The reality is that
>> > deviating from industry norms and standardizing on ABI will have its own
>> > costs and consequences.
>> >
>> > > Hence I would not want this removed from the charter unless there's an effort
>> > > to do it somewhere else right away, which would seem to increase the coordination
>> > > burden.
--
Bpf mailing list
Bpf@ietf.org
https://www.ietf.org/mailman/listinfo/bpf
next prev parent reply other threads:[~2023-05-23 19:47 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <PH7PR21MB38780769D482CC5F83768D3CA37E9@PH7PR21MB3878.namprd21.prod.outlook.com>
[not found] ` <87v8grkn67.fsf@gnu.org>
2023-05-17 18:19 ` [Bpf] IETF BPF working group draft charter Dave Thaler
2023-05-17 18:19 ` Dave Thaler
2023-05-17 21:00 ` David Vernet
2023-05-17 21:00 ` David Vernet
2023-05-17 21:13 ` Dave Thaler
2023-05-17 21:13 ` Dave Thaler
2023-05-18 17:33 ` Jose E. Marchesi
2023-05-18 17:33 ` Jose E. Marchesi
2023-05-18 19:42 ` Dave Thaler
2023-05-18 19:42 ` Dave Thaler
2023-05-23 16:32 ` David Vernet
2023-05-23 16:32 ` David Vernet
2023-05-23 16:50 ` Dave Thaler
2023-05-23 16:50 ` Dave Thaler
2023-05-23 17:15 ` David Vernet
2023-05-23 17:15 ` David Vernet
2023-05-23 19:08 ` David Vernet
2023-05-23 19:08 ` David Vernet
2023-05-23 19:42 ` Erik Kline
2023-05-23 19:42 ` Erik Kline
2023-05-23 19:47 ` Jose E. Marchesi [this message]
2023-05-23 19:47 ` Jose E. Marchesi
2023-05-23 17:58 ` Michael Richardson
2023-05-23 17:58 ` Michael Richardson
2023-05-23 18:25 ` Dave Thaler
2023-05-23 18:25 ` Dave Thaler
2023-05-23 20:28 ` David Vernet
2023-05-23 20:28 ` David Vernet
2023-05-24 20:38 ` Suresh Krishnan
2023-05-24 21:06 ` Jose E. Marchesi
2023-05-24 21:06 ` Jose E. Marchesi
2023-05-26 16:05 ` Dave Thaler
2023-05-26 16:05 ` Dave Thaler
2023-05-26 17:25 ` Jose E. Marchesi
2023-05-26 17:25 ` Jose E. Marchesi
2023-05-25 7:44 ` Christoph Hellwig
2023-05-25 7:44 ` Christoph Hellwig
2023-05-25 10:14 ` Jose E. Marchesi
2023-05-25 10:14 ` Jose E. Marchesi
2023-05-26 16:02 ` Dave Thaler
2023-05-26 16:02 ` Dave Thaler
2023-05-26 16:55 ` David Vernet
2023-05-26 16:55 ` David Vernet
2023-05-26 17:01 ` Dave Thaler
2023-05-26 17:01 ` Dave Thaler
2023-05-26 17:19 ` David Vernet
2023-05-26 17:19 ` David Vernet
2023-05-26 17:30 ` Dave Thaler
2023-05-26 17:30 ` Dave Thaler
2023-05-31 3:48 ` Christoph Hellwig
2023-05-31 3:48 ` Christoph Hellwig
2023-05-31 19:38 ` Michael Richardson
2023-05-31 19:38 ` Michael Richardson
2023-05-31 19:44 ` Dave Thaler
2023-05-31 19:44 ` Dave Thaler
2023-06-01 17:40 ` Michael Richardson
2023-06-01 17:40 ` Michael Richardson
2023-05-31 3:47 ` Christoph Hellwig
2023-05-31 3:47 ` Christoph Hellwig
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=87leheu8y0.fsf@gnu.org \
--to=jemarch@gnu.org \
--cc=ast@kernel.org \
--cc=bpf@ietf.org \
--cc=bpf@vger.kernel.org \
--cc=dthaler@microsoft.com \
--cc=ek.ietf@gmail.com \
--cc=hch@infradead.org \
--cc=sureshk@cisco.com \
--cc=void@manifault.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox