All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages
       [not found] <20200926193133.31390-1-qais.yousef@arm.com>
@ 2020-09-26 21:06 ` Romain Naour
  2020-09-27 19:38   ` Qais Yousef
  0 siblings, 1 reply; 6+ messages in thread
From: Romain Naour @ 2020-09-26 21:06 UTC (permalink / raw)
  To: buildroot

Hello Qais,

Le 26/09/2020 ? 21:31, Qais Yousef a ?crit?:
> The following series adds 2 new packages:
> 
> 	* BPF Compiler Collection (BCC)
> 	* bpftrace
> 
> It is based on 2020.08 tag. Can rebase on tip of master after this initial RFC
> review.
> 
> The support was validated on x86_64 and aarch64 (little endian). Hence
> restricted to these 2 archs only. aarch64 big endian is set as valid, but when
> I tried to compile that I think LLVM or clang support for aarch64_be + BPF was
> generating some errors; or something else was missing. So it might be a better
> idea to remove BR2_aarch64_be from Config.in dependency.
> 
> I tried to enable i386 and arm (aarch32); but I encountered some issues and
> decided to narrow the initial support to what I got working in hope that other
> archs support can follow through later if people are interested.
> 
> IIRC the issues were:
> 
> 	* bpftrace doesn't support these 2 archs.
> 	* BCC had some build failures on arm.
> 	* BCC had runtime issues on i386.
> 
> Marking this as RFC as it is something that was done over several weekends and
> my last contribution to buildroot was many many years ago. So I am sure there
> are many rough edges to tackle. Beside from my vague description above, you
> might have gotten the hint it's been a while since I last touched it. But I'd
> like to get the support merged, so hopefully starting a discussion with what
> I have now is a better start.

Thanks for this contribution, first make sure to subscribe to the Buildroot
mailing list. Otherwise your patch are not automatically recorded in patchwork.

There is an existing patch series proposed by Jugurtha Belkalem earlier this year:

http://patchwork.ozlabs.org/project/buildroot/list/?series=197400

Can you review it and check if it fix errors you noticed on aarch64.
Jugurtha did a test on a Raspberry-pi 64 bits.

Jugurtha, can you review the bpfrace package ?

Best regards,
Romain

> 
> Qais Yousef (4):
>   llvm: Add BPF backend
>   Add BPF Compiler Collection (BCC) Package
>   Add bpftrace package
>   clang: Fix undefined reference to dladdr error
> 
>  package/Config.in                             |  2 ++
>  package/bcc/0001-fix-dlinfo.patch             | 17 ++++++++++
>  .../0002-fix-undefined-gzgets-runtime.patch   | 15 ++++++++
>  .../0003-fix-loading-libc-python-perf.patch   | 17 ++++++++++
>  .../0004-fix-loading-librt-python-init.patch  | 17 ++++++++++
>  .../0005-fix-python-installation-path.patch   | 15 ++++++++
>  package/bcc/Config.in                         | 34 +++++++++++++++++++
>  package/bcc/bcc.mk                            | 25 ++++++++++++++
>  .../0001-fix-no-sys-auxv-header.patch         | 22 ++++++++++++
>  ...02-fix-missing-def-ADDR_NO_RANDOMIZE.patch | 13 +++++++
>  package/bpftrace/0003-install-libparser.patch | 12 +++++++
>  .../bpftrace/0004-install-libresources.patch  | 12 +++++++
>  package/bpftrace/0005-install-libarch.patch   | 10 ++++++
>  package/bpftrace/0006-install-libast.patch    | 11 ++++++
>  package/bpftrace/Config.in                    | 27 +++++++++++++++
>  package/bpftrace/bpftrace.mk                  | 17 ++++++++++
>  ...01-fix-undefined-reference-to-dladdr.patch | 13 +++++++
>  package/llvm/Config.in                        |  6 ++++
>  package/llvm/llvm.mk                          |  5 +++
>  19 files changed, 290 insertions(+)
>  create mode 100644 package/bcc/0001-fix-dlinfo.patch
>  create mode 100644 package/bcc/0002-fix-undefined-gzgets-runtime.patch
>  create mode 100644 package/bcc/0003-fix-loading-libc-python-perf.patch
>  create mode 100644 package/bcc/0004-fix-loading-librt-python-init.patch
>  create mode 100644 package/bcc/0005-fix-python-installation-path.patch
>  create mode 100644 package/bcc/Config.in
>  create mode 100644 package/bcc/bcc.mk
>  create mode 100644 package/bpftrace/0001-fix-no-sys-auxv-header.patch
>  create mode 100644 package/bpftrace/0002-fix-missing-def-ADDR_NO_RANDOMIZE.patch
>  create mode 100644 package/bpftrace/0003-install-libparser.patch
>  create mode 100644 package/bpftrace/0004-install-libresources.patch
>  create mode 100644 package/bpftrace/0005-install-libarch.patch
>  create mode 100644 package/bpftrace/0006-install-libast.patch
>  create mode 100644 package/bpftrace/Config.in
>  create mode 100644 package/bpftrace/bpftrace.mk
>  create mode 100644 package/clang/0001-fix-undefined-reference-to-dladdr.patch
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages
  2020-09-26 21:06 ` [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages Romain Naour
@ 2020-09-27 19:38   ` Qais Yousef
  2020-09-28 15:34     ` Romain Naour
  0 siblings, 1 reply; 6+ messages in thread
From: Qais Yousef @ 2020-09-27 19:38 UTC (permalink / raw)
  To: buildroot

Hi Romain

On 09/26/20 23:06, Romain Naour wrote:
> Hello Qais,
> 
> Le 26/09/2020 ? 21:31, Qais Yousef a ?crit?:
> > The following series adds 2 new packages:
> > 
> > 	* BPF Compiler Collection (BCC)
> > 	* bpftrace
> > 
> > It is based on 2020.08 tag. Can rebase on tip of master after this initial RFC
> > review.
> > 
> > The support was validated on x86_64 and aarch64 (little endian). Hence
> > restricted to these 2 archs only. aarch64 big endian is set as valid, but when
> > I tried to compile that I think LLVM or clang support for aarch64_be + BPF was
> > generating some errors; or something else was missing. So it might be a better
> > idea to remove BR2_aarch64_be from Config.in dependency.
> > 
> > I tried to enable i386 and arm (aarch32); but I encountered some issues and
> > decided to narrow the initial support to what I got working in hope that other
> > archs support can follow through later if people are interested.
> > 
> > IIRC the issues were:
> > 
> > 	* bpftrace doesn't support these 2 archs.
> > 	* BCC had some build failures on arm.
> > 	* BCC had runtime issues on i386.
> > 
> > Marking this as RFC as it is something that was done over several weekends and
> > my last contribution to buildroot was many many years ago. So I am sure there
> > are many rough edges to tackle. Beside from my vague description above, you
> > might have gotten the hint it's been a while since I last touched it. But I'd
> > like to get the support merged, so hopefully starting a discussion with what
> > I have now is a better start.
> 
> Thanks for this contribution, first make sure to subscribe to the Buildroot
> mailing list. Otherwise your patch are not automatically recorded in patchwork.

Thanks for the quick response. I did subscribe now. Do I need to resend the
series?

> 
> There is an existing patch series proposed by Jugurtha Belkalem earlier this year:
> 
> http://patchwork.ozlabs.org/project/buildroot/list/?series=197400

I did see that actually. I can't remember if I tried it, but it focused on
luajit and seemed partially enabling BCC. I never used BCC with lua before.
Will go give it another look anyway.

> 
> Can you review it and check if it fix errors you noticed on aarch64.
> Jugurtha did a test on a Raspberry-pi 64 bits.

My issue for aarch64 was for big endian builds. I think the dependency chain
for big endian aarch64 was missing something.

aarch64 little endian works fine and have been using it for a short while now.

Thanks

--
Qais Yousef

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages
  2020-09-27 19:38   ` Qais Yousef
@ 2020-09-28 15:34     ` Romain Naour
  0 siblings, 0 replies; 6+ messages in thread
From: Romain Naour @ 2020-09-28 15:34 UTC (permalink / raw)
  To: buildroot

Hello Qais,

Le 27/09/2020 ? 21:38, Qais Yousef a ?crit?:
> Hi Romain
> 
> On 09/26/20 23:06, Romain Naour wrote:
>> Hello Qais,
>>
>> Le 26/09/2020 ? 21:31, Qais Yousef a ?crit?:
>>> The following series adds 2 new packages:
>>>
>>> 	* BPF Compiler Collection (BCC)
>>> 	* bpftrace
>>>
>>> It is based on 2020.08 tag. Can rebase on tip of master after this initial RFC
>>> review.
>>>
>>> The support was validated on x86_64 and aarch64 (little endian). Hence
>>> restricted to these 2 archs only. aarch64 big endian is set as valid, but when
>>> I tried to compile that I think LLVM or clang support for aarch64_be + BPF was
>>> generating some errors; or something else was missing. So it might be a better
>>> idea to remove BR2_aarch64_be from Config.in dependency.
>>>
>>> I tried to enable i386 and arm (aarch32); but I encountered some issues and
>>> decided to narrow the initial support to what I got working in hope that other
>>> archs support can follow through later if people are interested.
>>>
>>> IIRC the issues were:
>>>
>>> 	* bpftrace doesn't support these 2 archs.
>>> 	* BCC had some build failures on arm.
>>> 	* BCC had runtime issues on i386.
>>>
>>> Marking this as RFC as it is something that was done over several weekends and
>>> my last contribution to buildroot was many many years ago. So I am sure there
>>> are many rough edges to tackle. Beside from my vague description above, you
>>> might have gotten the hint it's been a while since I last touched it. But I'd
>>> like to get the support merged, so hopefully starting a discussion with what
>>> I have now is a better start.
>>
>> Thanks for this contribution, first make sure to subscribe to the Buildroot
>> mailing list. Otherwise your patch are not automatically recorded in patchwork.
> 
> Thanks for the quick response. I did subscribe now. Do I need to resend the
> series?

Yes please.

> 
>>
>> There is an existing patch series proposed by Jugurtha Belkalem earlier this year:
>>
>> http://patchwork.ozlabs.org/project/buildroot/list/?series=197400
> 
> I did see that actually. I can't remember if I tried it, but it focused on
> luajit and seemed partially enabling BCC. I never used BCC with lua before.
> Will go give it another look anyway.

Jugurtha did a runtime test last year and published an article on our blog:

https://www.linuxembedded.fr/article/bcc-integration-buildroot

Since his first try, the luajit problem with aarch64 was fixed thanks to the
switch to moonjit (a luajit fork).

> 
>>
>> Can you review it and check if it fix errors you noticed on aarch64.
>> Jugurtha did a test on a Raspberry-pi 64 bits.
> 
> My issue for aarch64 was for big endian builds. I think the dependency chain
> for big endian aarch64 was missing something.
> 
> aarch64 little endian works fine and have been using it for a short while now.

Ok great.

Best regards,
Romain


> 
> Thanks
> 
> --
> Qais Yousef
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages
  2020-09-29 21:08 ` Romain Naour
@ 2020-10-01 20:46   ` Qais Yousef
  0 siblings, 0 replies; 6+ messages in thread
From: Qais Yousef @ 2020-10-01 20:46 UTC (permalink / raw)
  To: buildroot

Hi Romain

On 09/29/20 23:08, Romain Naour wrote:
> Hi Qais,
> 
> Le 29/09/2020 ? 12:26, Qais Yousef a ?crit?:
> > *** RESEND AFTER SUBSCRIBING TO THE LIST ***
> > 
> > The following series adds 2 new packages:
> > 
> > 	* BPF Compiler Collection (BCC)
> > 	* bpftrace
> > 
> > It is based on 2020.08 tag. Can rebase on tip of master after this initial RFC
> > review.
> > 
> > The support was validated on x86_64 and aarch64 (little endian). Hence
> > restricted to these 2 archs only. aarch64 big endian is set as valid, but when
> > I tried to compile that I think LLVM or clang support for aarch64_be + BPF was
> > generating some errors; or something else was missing. So it might be a better
> > idea to remove BR2_aarch64_be from Config.in dependency.
> > 
> > I tried to enable i386 and arm (aarch32); but I encountered some issues and
> > decided to narrow the initial support to what I got working in hope that other
> > archs support can follow through later if people are interested.
> > 
> > IIRC the issues were:
> > 
> > 	* bpftrace doesn't support these 2 archs.
> > 	* BCC had some build failures on arm.
> > 	* BCC had runtime issues on i386.
> > 
> > Marking this as RFC as it is something that was done over several weekends and
> > my last contribution to buildroot was many many years ago. So I am sure there
> > are many rough edges to tackle. Beside from my vague description above, you
> > might have gotten the hint it's been a while since I last touched it. But I'd
> > like to get the support merged, so hopefully starting a discussion with what
> > I have now is a better start.
> 
> I reviewed your RFC series. I'm agree that bcc is difficult to cross-compile...

Thanks a lot for your review! I will try to address as much as I can over the
weekend and either post a new series or get back to you with more info.

> 
> I suggest adding bpftrace to the bcc series from Jugurtha and keeping you as
> author of this package.

I did test it and I think using it as a base makes sense. I will try to review
it over the weekend too.

> 
> @jugurtha can you have a look at bpftrace package ?
> 
> I'll mark your RFC series "Changes requested" in patchwork.
> Thanks!

Thanks!

--
Qais Yousef

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages
  2020-09-29 10:26 Qais Yousef
@ 2020-09-29 21:08 ` Romain Naour
  2020-10-01 20:46   ` Qais Yousef
  0 siblings, 1 reply; 6+ messages in thread
From: Romain Naour @ 2020-09-29 21:08 UTC (permalink / raw)
  To: buildroot

Hi Qais,

Le 29/09/2020 ? 12:26, Qais Yousef a ?crit?:
> *** RESEND AFTER SUBSCRIBING TO THE LIST ***
> 
> The following series adds 2 new packages:
> 
> 	* BPF Compiler Collection (BCC)
> 	* bpftrace
> 
> It is based on 2020.08 tag. Can rebase on tip of master after this initial RFC
> review.
> 
> The support was validated on x86_64 and aarch64 (little endian). Hence
> restricted to these 2 archs only. aarch64 big endian is set as valid, but when
> I tried to compile that I think LLVM or clang support for aarch64_be + BPF was
> generating some errors; or something else was missing. So it might be a better
> idea to remove BR2_aarch64_be from Config.in dependency.
> 
> I tried to enable i386 and arm (aarch32); but I encountered some issues and
> decided to narrow the initial support to what I got working in hope that other
> archs support can follow through later if people are interested.
> 
> IIRC the issues were:
> 
> 	* bpftrace doesn't support these 2 archs.
> 	* BCC had some build failures on arm.
> 	* BCC had runtime issues on i386.
> 
> Marking this as RFC as it is something that was done over several weekends and
> my last contribution to buildroot was many many years ago. So I am sure there
> are many rough edges to tackle. Beside from my vague description above, you
> might have gotten the hint it's been a while since I last touched it. But I'd
> like to get the support merged, so hopefully starting a discussion with what
> I have now is a better start.

I reviewed your RFC series. I'm agree that bcc is difficult to cross-compile...

I suggest adding bpftrace to the bcc series from Jugurtha and keeping you as
author of this package.

@jugurtha can you have a look at bpftrace package ?

I'll mark your RFC series "Changes requested" in patchwork.
Thanks!

Best regards,
Romain


> 
> Qais Yousef (4):
>   llvm: Add BPF backend
>   Add BPF Compiler Collection (BCC) Package
>   Add bpftrace package
>   clang: Fix undefined reference to dladdr error
> 
>  package/Config.in                             |  2 ++
>  package/bcc/0001-fix-dlinfo.patch             | 17 ++++++++++
>  .../0002-fix-undefined-gzgets-runtime.patch   | 15 ++++++++
>  .../0003-fix-loading-libc-python-perf.patch   | 17 ++++++++++
>  .../0004-fix-loading-librt-python-init.patch  | 17 ++++++++++
>  .../0005-fix-python-installation-path.patch   | 15 ++++++++
>  package/bcc/Config.in                         | 34 +++++++++++++++++++
>  package/bcc/bcc.mk                            | 25 ++++++++++++++
>  .../0001-fix-no-sys-auxv-header.patch         | 22 ++++++++++++
>  ...02-fix-missing-def-ADDR_NO_RANDOMIZE.patch | 13 +++++++
>  package/bpftrace/0003-install-libparser.patch | 12 +++++++
>  .../bpftrace/0004-install-libresources.patch  | 12 +++++++
>  package/bpftrace/0005-install-libarch.patch   | 10 ++++++
>  package/bpftrace/0006-install-libast.patch    | 11 ++++++
>  package/bpftrace/Config.in                    | 27 +++++++++++++++
>  package/bpftrace/bpftrace.mk                  | 17 ++++++++++
>  ...01-fix-undefined-reference-to-dladdr.patch | 13 +++++++
>  package/llvm/Config.in                        |  6 ++++
>  package/llvm/llvm.mk                          |  5 +++
>  19 files changed, 290 insertions(+)
>  create mode 100644 package/bcc/0001-fix-dlinfo.patch
>  create mode 100644 package/bcc/0002-fix-undefined-gzgets-runtime.patch
>  create mode 100644 package/bcc/0003-fix-loading-libc-python-perf.patch
>  create mode 100644 package/bcc/0004-fix-loading-librt-python-init.patch
>  create mode 100644 package/bcc/0005-fix-python-installation-path.patch
>  create mode 100644 package/bcc/Config.in
>  create mode 100644 package/bcc/bcc.mk
>  create mode 100644 package/bpftrace/0001-fix-no-sys-auxv-header.patch
>  create mode 100644 package/bpftrace/0002-fix-missing-def-ADDR_NO_RANDOMIZE.patch
>  create mode 100644 package/bpftrace/0003-install-libparser.patch
>  create mode 100644 package/bpftrace/0004-install-libresources.patch
>  create mode 100644 package/bpftrace/0005-install-libarch.patch
>  create mode 100644 package/bpftrace/0006-install-libast.patch
>  create mode 100644 package/bpftrace/Config.in
>  create mode 100644 package/bpftrace/bpftrace.mk
>  create mode 100644 package/clang/0001-fix-undefined-reference-to-dladdr.patch
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages
@ 2020-09-29 10:26 Qais Yousef
  2020-09-29 21:08 ` Romain Naour
  0 siblings, 1 reply; 6+ messages in thread
From: Qais Yousef @ 2020-09-29 10:26 UTC (permalink / raw)
  To: buildroot

*** RESEND AFTER SUBSCRIBING TO THE LIST ***

The following series adds 2 new packages:

	* BPF Compiler Collection (BCC)
	* bpftrace

It is based on 2020.08 tag. Can rebase on tip of master after this initial RFC
review.

The support was validated on x86_64 and aarch64 (little endian). Hence
restricted to these 2 archs only. aarch64 big endian is set as valid, but when
I tried to compile that I think LLVM or clang support for aarch64_be + BPF was
generating some errors; or something else was missing. So it might be a better
idea to remove BR2_aarch64_be from Config.in dependency.

I tried to enable i386 and arm (aarch32); but I encountered some issues and
decided to narrow the initial support to what I got working in hope that other
archs support can follow through later if people are interested.

IIRC the issues were:

	* bpftrace doesn't support these 2 archs.
	* BCC had some build failures on arm.
	* BCC had runtime issues on i386.

Marking this as RFC as it is something that was done over several weekends and
my last contribution to buildroot was many many years ago. So I am sure there
are many rough edges to tackle. Beside from my vague description above, you
might have gotten the hint it's been a while since I last touched it. But I'd
like to get the support merged, so hopefully starting a discussion with what
I have now is a better start.

Qais Yousef (4):
  llvm: Add BPF backend
  Add BPF Compiler Collection (BCC) Package
  Add bpftrace package
  clang: Fix undefined reference to dladdr error

 package/Config.in                             |  2 ++
 package/bcc/0001-fix-dlinfo.patch             | 17 ++++++++++
 .../0002-fix-undefined-gzgets-runtime.patch   | 15 ++++++++
 .../0003-fix-loading-libc-python-perf.patch   | 17 ++++++++++
 .../0004-fix-loading-librt-python-init.patch  | 17 ++++++++++
 .../0005-fix-python-installation-path.patch   | 15 ++++++++
 package/bcc/Config.in                         | 34 +++++++++++++++++++
 package/bcc/bcc.mk                            | 25 ++++++++++++++
 .../0001-fix-no-sys-auxv-header.patch         | 22 ++++++++++++
 ...02-fix-missing-def-ADDR_NO_RANDOMIZE.patch | 13 +++++++
 package/bpftrace/0003-install-libparser.patch | 12 +++++++
 .../bpftrace/0004-install-libresources.patch  | 12 +++++++
 package/bpftrace/0005-install-libarch.patch   | 10 ++++++
 package/bpftrace/0006-install-libast.patch    | 11 ++++++
 package/bpftrace/Config.in                    | 27 +++++++++++++++
 package/bpftrace/bpftrace.mk                  | 17 ++++++++++
 ...01-fix-undefined-reference-to-dladdr.patch | 13 +++++++
 package/llvm/Config.in                        |  6 ++++
 package/llvm/llvm.mk                          |  5 +++
 19 files changed, 290 insertions(+)
 create mode 100644 package/bcc/0001-fix-dlinfo.patch
 create mode 100644 package/bcc/0002-fix-undefined-gzgets-runtime.patch
 create mode 100644 package/bcc/0003-fix-loading-libc-python-perf.patch
 create mode 100644 package/bcc/0004-fix-loading-librt-python-init.patch
 create mode 100644 package/bcc/0005-fix-python-installation-path.patch
 create mode 100644 package/bcc/Config.in
 create mode 100644 package/bcc/bcc.mk
 create mode 100644 package/bpftrace/0001-fix-no-sys-auxv-header.patch
 create mode 100644 package/bpftrace/0002-fix-missing-def-ADDR_NO_RANDOMIZE.patch
 create mode 100644 package/bpftrace/0003-install-libparser.patch
 create mode 100644 package/bpftrace/0004-install-libresources.patch
 create mode 100644 package/bpftrace/0005-install-libarch.patch
 create mode 100644 package/bpftrace/0006-install-libast.patch
 create mode 100644 package/bpftrace/Config.in
 create mode 100644 package/bpftrace/bpftrace.mk
 create mode 100644 package/clang/0001-fix-undefined-reference-to-dladdr.patch

-- 
2.17.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-10-01 20:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20200926193133.31390-1-qais.yousef@arm.com>
2020-09-26 21:06 ` [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages Romain Naour
2020-09-27 19:38   ` Qais Yousef
2020-09-28 15:34     ` Romain Naour
2020-09-29 10:26 Qais Yousef
2020-09-29 21:08 ` Romain Naour
2020-10-01 20:46   ` Qais Yousef

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.