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 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.