* [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla
2023-10-14 21:57 [Buildroot] [PATCH v4 1/4] package/libtraceevent: new package Giulio Benetti
@ 2023-10-14 21:57 ` Giulio Benetti
0 siblings, 0 replies; 7+ messages in thread
From: Giulio Benetti @ 2023-10-14 21:57 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Giulio Benetti, Pierre Floury, Yann E . MORIN,
Maxime Chevallier
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
The RealTime Linux Analysis tool includes a set of commands that relies
on the osnoise and timerlat tracers from the ftrace kernel subsystem,
allowing to analyze the lantency sources coming from the hardware and
the kernel itself.
This tool was introduced in v5.17, and relies on libtracefs and
libtraceevent, although libtraceevent itself is already a dependency for
libtracefs.
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
[Giulio: fix install on recent Linux versions]
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
V1->V2:
* fix install with recent Linux versions
V2->V3:
* deal with hwnoise presence as suggested by Yann Morin
* change Config.in comment according to the point above
---
DEVELOPERS | 2 ++
package/linux-tools/Config.in | 10 ++++++
package/linux-tools/linux-tool-rtla.mk.in | 40 +++++++++++++++++++++++
3 files changed, 52 insertions(+)
create mode 100644 package/linux-tools/linux-tool-rtla.mk.in
diff --git a/DEVELOPERS b/DEVELOPERS
index 5c4bc87e16..8f76d471ee 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1223,6 +1223,7 @@ F: package/libnss/
F: package/libnvme/
F: package/libtraceevent/
F: package/libtracefs
+F: package/linux-tools/linux-tool-rtla.mk.in
F: package/mali-driver/
F: package/minicom/
F: package/mmc-utils/
@@ -2116,6 +2117,7 @@ F: package/timescaledb/
N: Maxime Chevallier <maxime.chevallier@bootlin.com>
F: package/libtraceevent/
F: package/libtracefs
+F: package/linux-tools/linux-tool-rtla.mk.in
N: Michael Durrant <mdurrant@arcturusnetworks.com>
F: board/arcturus/
diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
index 451b0eeff5..4df73159be 100644
--- a/package/linux-tools/Config.in
+++ b/package/linux-tools/Config.in
@@ -102,6 +102,16 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
endif
+config BR2_PACKAGE_LINUX_TOOLS_RTLA
+ bool "rtla"
+ select BR2_PACKAGE_LINUX_TOOLS
+ select BR2_PACKAGE_LIBTRACEFS
+ help
+ Linux 5.19 and later has 2 new tracers, osnoise and timerlat.
+ Linux 6.3 has new tracer hwnoise. These tracers allow performing
+ latency analysis, for which the rtla tool provides wrapper
+ commands to visualize and extract latency traces and reports.
+
config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
bool"selftests"
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
diff --git a/package/linux-tools/linux-tool-rtla.mk.in b/package/linux-tools/linux-tool-rtla.mk.in
new file mode 100644
index 0000000000..04b98f443d
--- /dev/null
+++ b/package/linux-tools/linux-tool-rtla.mk.in
@@ -0,0 +1,40 @@
+################################################################################
+#
+# rtla
+#
+################################################################################
+
+LINUX_TOOLS += rtla
+
+RTLA_DEPENDENCIES = host-pkgconf libtracefs
+RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
+ CC=$(TARGET_CC) \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
+
+define RTLA_BUILD_CMDS
+ $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile >/dev/null 2>&1 ; then \
+ echo "Your kernel version is too old and does not implement the rtla tool." ; \
+ echo "At least kernel 5.19 must be used." ; \
+ exit 1 ; \
+ fi
+
+ $(TARGET_MAKE_ENV) \
+ $(MAKE) $(RTLA_MAKE_OPTS) \
+ -C $(LINUX_DIR)/tools/tracing rtla
+endef
+
+# make rtla_install build and install by default documentation using rst2man
+# but it's not available in Buildroot and we don't want manual files in target
+# folder so let's simply install the resulting rtla binary and create symlinks
+# like Linux does in its tools/tracing/rtla/Makefile
+define RTLA_INSTALL_TARGET_CMDS
+ $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla $(TARGET_DIR)/usr/bin
+ ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
+ ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
+
+ # Check if hwnoise is provided or not
+ if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \
+ ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
+ fi
+endef
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla
[not found] <mailman.9571.1697362018.35217.buildroot@buildroot.org>
@ 2023-10-19 12:32 ` Andreas Ziegler
2023-10-19 13:16 ` Giulio Benetti
0 siblings, 1 reply; 7+ messages in thread
From: Andreas Ziegler @ 2023-10-19 12:32 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Yann E . MORIN,
buildroot
Hi Giulio, *
On 2023-10-14 23:57, Giulio Benetti wrote:
>
> From: Maxime Chevallier <maxime.chevallier@bootlin.com>
>
> The RealTime Linux Analysis tool includes a set of commands that relies
> on the osnoise and timerlat tracers from the ftrace kernel subsystem,
> allowing to analyze the lantency sources coming from the hardware and
> the kernel itself.
>
> This tool was introduced in v5.17, and relies on libtracefs and
> libtraceevent, although libtraceevent itself is already a dependency
> for
> libtracefs.
>
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> [Giulio: fix install on recent Linux versions]
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
> V1->V2:
> * fix install with recent Linux versions
> V2->V3:
> * deal with hwnoise presence as suggested by Yann Morin
> * change Config.in comment according to the point above
> ---
> DEVELOPERS | 2 ++
> package/linux-tools/Config.in | 10 ++++++
> package/linux-tools/linux-tool-rtla.mk.in | 40 +++++++++++++++++++++++
> 3 files changed, 52 insertions(+)
> create mode 100644 package/linux-tools/linux-tool-rtla.mk.in
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 5c4bc87e16..8f76d471ee 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1223,6 +1223,7 @@ F: package/libnss/
> F: package/libnvme/
> F: package/libtraceevent/
> F: package/libtracefs
> +F: package/linux-tools/linux-tool-rtla.mk.in
> F: package/mali-driver/
> F: package/minicom/
> F: package/mmc-utils/
> @@ -2116,6 +2117,7 @@ F: package/timescaledb/
> N: Maxime Chevallier <maxime.chevallier@bootlin.com>
> F: package/libtraceevent/
> F: package/libtracefs
> +F: package/linux-tools/linux-tool-rtla.mk.in
>
> N: Michael Durrant <mdurrant@arcturusnetworks.com>
> F: board/arcturus/
> diff --git a/package/linux-tools/Config.in
> b/package/linux-tools/Config.in
> index 451b0eeff5..4df73159be 100644
> --- a/package/linux-tools/Config.in
> +++ b/package/linux-tools/Config.in
> @@ -102,6 +102,16 @@ config
> BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
>
> endif
>
> +config BR2_PACKAGE_LINUX_TOOLS_RTLA
> + bool "rtla"
Since there is a kernel header dependency:
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17
> + select BR2_PACKAGE_LINUX_TOOLS
> + select BR2_PACKAGE_LIBTRACEFS
> + help
> + Linux 5.19 and later has 2 new tracers, osnoise and timerlat.
RTLA seems to have been introduced with 5.17-rc1.
> + Linux 6.3 has new tracer hwnoise. These tracers allow performing
> + latency analysis, for which the rtla tool provides wrapper
> + commands to visualize and extract latency traces and reports.
> +
> config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
> bool"selftests"
> depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
> diff --git a/package/linux-tools/linux-tool-rtla.mk.in
> b/package/linux-tools/linux-tool-rtla.mk.in
> new file mode 100644
> index 0000000000..04b98f443d
> --- /dev/null
> +++ b/package/linux-tools/linux-tool-rtla.mk.in
> @@ -0,0 +1,40 @@
> +################################################################################
> +#
> +# rtla
> +#
> +################################################################################
> +
> +LINUX_TOOLS += rtla
> +
Linux kernel needs FTRACE, TIMERLAT_TRACER, HIST_TRIGGERS for RTLA to
work:
ifeq ($(BR2_PACKAGE_LINUX_TOOLS_RTLA),y)
define RTLA_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
$(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
$(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
endef
endif
> +RTLA_DEPENDENCIES = host-pkgconf libtracefs
> +RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
> + CC=$(TARGET_CC) \
libtrace{event,fs} are compiled with _GNU_SOURCE enabled; in the rtla
build the symbol may be missing, depending on the C library used. Define
_GNU_SOURCE unconditionally to prevent build failures with musl:
EXTRA_CFLAGS="-D_GNU_SOURCE" \
> + LDFLAGS="$(TARGET_LDFLAGS)" \
> + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
> +
Build fails if BR2_TOOLCHAIN_BUILDROOT_USE_SSP is set to 'n', so
introduce a workaround, similar to linux-tool-tmon.mk.in:
ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
define RTLA_DISABLE_STACK_PROTECTOR
$(SED) 's/-fstack-protector.* //'
$(LINUX_DIR)/tools/tracing/rtla/Makefile
endef
endif
> +define RTLA_BUILD_CMDS
> + $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile
> >/dev/null 2>&1 ; then \
> + echo "Your kernel version is too old and does not implement the rtla
> tool." ; \
> + echo "At least kernel 5.19 must be used." ; \
> + exit 1 ; \
> + fi
> +
$(RTLA_DISABLE_STACK_PROTECTOR)
> + $(TARGET_MAKE_ENV) \
> + $(MAKE) $(RTLA_MAKE_OPTS) \
> + -C $(LINUX_DIR)/tools/tracing rtla
> +endef
> +
> +# make rtla_install build and install by default documentation using
> rst2man
> +# but it's not available in Buildroot and we don't want manual files
> in target
> +# folder so let's simply install the resulting rtla binary and create
> symlinks
> +# like Linux does in its tools/tracing/rtla/Makefile
> +define RTLA_INSTALL_TARGET_CMDS
> + $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla
> $(TARGET_DIR)/usr/bin
> + ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
> + ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
> +
> + # Check if hwnoise is provided or not
> + if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \
> + ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
> + fi
> +endef
> --
> 2.34.1
Kind regards,
Andreas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla
2023-10-19 12:32 ` [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla Andreas Ziegler
@ 2023-10-19 13:16 ` Giulio Benetti
2023-10-19 13:48 ` Andreas Ziegler
2023-10-24 6:27 ` Andreas Ziegler
0 siblings, 2 replies; 7+ messages in thread
From: Giulio Benetti @ 2023-10-19 13:16 UTC (permalink / raw)
To: Andreas Ziegler
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Yann E . MORIN,
buildroot
Hi Andreas,
thank you for reviewing,
On 19/10/23 14:32, Andreas Ziegler wrote:
> Hi Giulio, *
>
> On 2023-10-14 23:57, Giulio Benetti wrote:
>>
>> From: Maxime Chevallier <maxime.chevallier@bootlin.com>
>>
>> The RealTime Linux Analysis tool includes a set of commands that relies
>> on the osnoise and timerlat tracers from the ftrace kernel subsystem,
>> allowing to analyze the lantency sources coming from the hardware and
>> the kernel itself.
>>
>> This tool was introduced in v5.17, and relies on libtracefs and
>> libtraceevent, although libtraceevent itself is already a dependency for
>> libtracefs.
>>
>> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
>> [Giulio: fix install on recent Linux versions]
>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>> ---
>> V1->V2:
>> * fix install with recent Linux versions
>> V2->V3:
>> * deal with hwnoise presence as suggested by Yann Morin
>> * change Config.in comment according to the point above
>> ---
>> DEVELOPERS | 2 ++
>> package/linux-tools/Config.in | 10 ++++++
>> package/linux-tools/linux-tool-rtla.mk.in | 40 +++++++++++++++++++++++
>> 3 files changed, 52 insertions(+)
>> create mode 100644 package/linux-tools/linux-tool-rtla.mk.in
>>
>> diff --git a/DEVELOPERS b/DEVELOPERS
>> index 5c4bc87e16..8f76d471ee 100644
>> --- a/DEVELOPERS
>> +++ b/DEVELOPERS
>> @@ -1223,6 +1223,7 @@ F: package/libnss/
>> F: package/libnvme/
>> F: package/libtraceevent/
>> F: package/libtracefs
>> +F: package/linux-tools/linux-tool-rtla.mk.in
>> F: package/mali-driver/
>> F: package/minicom/
>> F: package/mmc-utils/
>> @@ -2116,6 +2117,7 @@ F: package/timescaledb/
>> N: Maxime Chevallier <maxime.chevallier@bootlin.com>
>> F: package/libtraceevent/
>> F: package/libtracefs
>> +F: package/linux-tools/linux-tool-rtla.mk.in
>>
>> N: Michael Durrant <mdurrant@arcturusnetworks.com>
>> F: board/arcturus/
>> diff --git a/package/linux-tools/Config.in
>> b/package/linux-tools/Config.in
>> index 451b0eeff5..4df73159be 100644
>> --- a/package/linux-tools/Config.in
>> +++ b/package/linux-tools/Config.in
>> @@ -102,6 +102,16 @@ config
>> BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
>>
>> endif
>>
>> +config BR2_PACKAGE_LINUX_TOOLS_RTLA
>> + bool "rtla"
>
> Since there is a kernel header dependency:
> depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17
This is not enough since you can have toolchain headers and linux with
different versions. Buildroot doesn't provide an easy way to check for
Linux version, but this package itself check for it in .mk file as you
can see below
>> + select BR2_PACKAGE_LINUX_TOOLS
>> + select BR2_PACKAGE_LIBTRACEFS
>> + help
>> + Linux 5.19 and later has 2 new tracers, osnoise and timerlat.
>
> RTLA seems to have been introduced with 5.17-rc1.
You're right, but the problem is that it required libprocps as
dependency until Linux 5.19. So chatting with Yann in IRC we came to
the conclusion to skip 5.17 and 5.18 and go for 5.19 directly.
I could improve description anyway to make it clear as I've described it
to you here because it's misleading.
>> + Linux 6.3 has new tracer hwnoise. These tracers allow performing
>> + latency analysis, for which the rtla tool provides wrapper
>> + commands to visualize and extract latency traces and reports.
>> +
>> config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
>> bool"selftests"
>> depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
>> diff --git a/package/linux-tools/linux-tool-rtla.mk.in
>> b/package/linux-tools/linux-tool-rtla.mk.in
>> new file mode 100644
>> index 0000000000..04b98f443d
>> --- /dev/null
>> +++ b/package/linux-tools/linux-tool-rtla.mk.in
>> @@ -0,0 +1,40 @@
>> +################################################################################
>> +#
>> +# rtla
>> +#
>> +################################################################################
>> +
>> +LINUX_TOOLS += rtla
>> +
>
> Linux kernel needs FTRACE, TIMERLAT_TRACER, HIST_TRIGGERS for RTLA to work:
>
> ifeq ($(BR2_PACKAGE_LINUX_TOOLS_RTLA),y)
> define RTLA_LINUX_CONFIG_FIXUPS
> $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
> $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
> $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
> endef
> endif
Nice catch! I didn't think about it
>> +RTLA_DEPENDENCIES = host-pkgconf libtracefs
>> +RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
>> + CC=$(TARGET_CC) \
>
> libtrace{event,fs} are compiled with _GNU_SOURCE enabled; in the rtla
> build the symbol may be missing, depending on the C library used. Define
> _GNU_SOURCE unconditionally to prevent build failures with musl:
>
> EXTRA_CFLAGS="-D_GNU_SOURCE" \
I haven't found such build failure with musl, do you have a Buildroot
defconfig that exhibits this bug?
>> + LDFLAGS="$(TARGET_LDFLAGS)" \
>> + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
>> +
>
> Build fails if BR2_TOOLCHAIN_BUILDROOT_USE_SSP is set to 'n', so
> introduce a workaround, similar to linux-tool-tmon.mk.in:
>
> ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
> define RTLA_DISABLE_STACK_PROTECTOR
> $(SED) 's/-fstack-protector.* //'
> $(LINUX_DIR)/tools/tracing/rtla/Makefile
> endef
> endif
Thank you, I will
>> +define RTLA_BUILD_CMDS
>> + $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile
>> >/dev/null 2>&1 ; then \
>> + echo "Your kernel version is too old and does not implement
>> the rtla tool." ; \
>> + echo "At least kernel 5.19 must be used." ; \
>> + exit 1 ; \
>> + fi
>> +
>
> $(RTLA_DISABLE_STACK_PROTECTOR)
Ok
>> + $(TARGET_MAKE_ENV) \
>> + $(MAKE) $(RTLA_MAKE_OPTS) \
>> + -C $(LINUX_DIR)/tools/tracing rtla
>> +endef
>> +
>> +# make rtla_install build and install by default documentation using
>> rst2man
>> +# but it's not available in Buildroot and we don't want manual files
>> in target
>> +# folder so let's simply install the resulting rtla binary and create
>> symlinks
>> +# like Linux does in its tools/tracing/rtla/Makefile
>> +define RTLA_INSTALL_TARGET_CMDS
>> + $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla
>> $(TARGET_DIR)/usr/bin
>> + ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
>> + ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
>> +
>> + # Check if hwnoise is provided or not
>> + if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \
>> + ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
>> + fi
>> +endef
>> --
>> 2.34.1
Thanks a lot for the accurate review!
Best regards
--
Giulio Benetti
CEO&CTO@Benetti Engineering sas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla
2023-10-19 13:16 ` Giulio Benetti
@ 2023-10-19 13:48 ` Andreas Ziegler
2023-10-24 6:27 ` Andreas Ziegler
1 sibling, 0 replies; 7+ messages in thread
From: Andreas Ziegler @ 2023-10-19 13:48 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Yann E . MORIN,
buildroot
Hi Giulio,
On 2023-10-19 13:16, Giulio Benetti wrote:
> Hi Andreas,
>
> thank you for reviewing,
you're welcome, I had been experimenting with Maxime's original version,
so it got tested in different configurations.
>
> On 19/10/23 14:32, Andreas Ziegler wrote:
>> Hi Giulio, *
>>
>> On 2023-10-14 23:57, Giulio Benetti wrote:
>>>
>>> From: Maxime Chevallier <maxime.chevallier@bootlin.com>
>>>
>>> The RealTime Linux Analysis tool includes a set of commands that
>>> relies
>>> on the osnoise and timerlat tracers from the ftrace kernel subsystem,
>>> allowing to analyze the lantency sources coming from the hardware and
>>> the kernel itself.
>>>
>>> This tool was introduced in v5.17, and relies on libtracefs and
>>> libtraceevent, although libtraceevent itself is already a dependency
>>> for
>>> libtracefs.
>>>
>>> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
>>> [Giulio: fix install on recent Linux versions]
>>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>>> ---
>>> V1->V2:
>>> * fix install with recent Linux versions
>>> V2->V3:
>>> * deal with hwnoise presence as suggested by Yann Morin
>>> * change Config.in comment according to the point above
>>> ---
>>> DEVELOPERS | 2 ++
>>> package/linux-tools/Config.in | 10 ++++++
>>> package/linux-tools/linux-tool-rtla.mk.in | 40
>>> +++++++++++++++++++++++
>>> 3 files changed, 52 insertions(+)
>>> create mode 100644 package/linux-tools/linux-tool-rtla.mk.in
>>>
>>> diff --git a/DEVELOPERS b/DEVELOPERS
>>> index 5c4bc87e16..8f76d471ee 100644
>>> --- a/DEVELOPERS
>>> +++ b/DEVELOPERS
>>> @@ -1223,6 +1223,7 @@ F: package/libnss/
>>> F: package/libnvme/
>>> F: package/libtraceevent/
>>> F: package/libtracefs
>>> +F: package/linux-tools/linux-tool-rtla.mk.in
>>> F: package/mali-driver/
>>> F: package/minicom/
>>> F: package/mmc-utils/
>>> @@ -2116,6 +2117,7 @@ F: package/timescaledb/
>>> N: Maxime Chevallier <maxime.chevallier@bootlin.com>
>>> F: package/libtraceevent/
>>> F: package/libtracefs
>>> +F: package/linux-tools/linux-tool-rtla.mk.in
>>>
>>> N: Michael Durrant <mdurrant@arcturusnetworks.com>
>>> F: board/arcturus/
>>> diff --git a/package/linux-tools/Config.in
>>> b/package/linux-tools/Config.in
>>> index 451b0eeff5..4df73159be 100644
>>> --- a/package/linux-tools/Config.in
>>> +++ b/package/linux-tools/Config.in
>>> @@ -102,6 +102,16 @@ config
>>> BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
>>>
>>> endif
>>>
>>> +config BR2_PACKAGE_LINUX_TOOLS_RTLA
>>> + bool "rtla"
>>
>> Since there is a kernel header dependency:
>> depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17
>
> This is not enough since you can have toolchain headers and linux with
> different versions. Buildroot doesn't provide an easy way to check for
> Linux version, but this package itself check for it in .mk file as you
> can see below
Yes, I have seen the check in rtla.mk.in; it occurs quite late in the
build, which is a bit annoying :-)
>>> + select BR2_PACKAGE_LINUX_TOOLS
>>> + select BR2_PACKAGE_LIBTRACEFS
>>> + help
>>> + Linux 5.19 and later has 2 new tracers, osnoise and timerlat.
>>
>> RTLA seems to have been introduced with 5.17-rc1.
>
> You're right, but the problem is that it required libprocps as
> dependency until Linux 5.19. So chatting with Yann in IRC we came to
> the conclusion to skip 5.17 and 5.18 and go for 5.19 directly.
>
> I could improve description anyway to make it clear as I've described
> it
> to you here because it's misleading.
OK, that explains it. I just checked elixir.bootlin.com for the first
appearance.
>>> + Linux 6.3 has new tracer hwnoise. These tracers allow
>>> performing
>>> + latency analysis, for which the rtla tool provides wrapper
>>> + commands to visualize and extract latency traces and reports.
>>> +
>>> config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
>>> bool"selftests"
>>> depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
>>> diff --git a/package/linux-tools/linux-tool-rtla.mk.in
>>> b/package/linux-tools/linux-tool-rtla.mk.in
>>> new file mode 100644
>>> index 0000000000..04b98f443d
>>> --- /dev/null
>>> +++ b/package/linux-tools/linux-tool-rtla.mk.in
>>> @@ -0,0 +1,40 @@
>>> +################################################################################
>>> +#
>>> +# rtla
>>> +#
>>> +################################################################################
>>> +
>>> +LINUX_TOOLS += rtla
>>> +
>>
>> Linux kernel needs FTRACE, TIMERLAT_TRACER, HIST_TRIGGERS for RTLA to
>> work:
>>
>> ifeq ($(BR2_PACKAGE_LINUX_TOOLS_RTLA),y)
>> define RTLA_LINUX_CONFIG_FIXUPS
>> $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
>> $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
>> $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
>> endef
>> endif
>
> Nice catch! I didn't think about it
>
>>> +RTLA_DEPENDENCIES = host-pkgconf libtracefs
>>> +RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
>>> + CC=$(TARGET_CC) \
>>
>> libtrace{event,fs} are compiled with _GNU_SOURCE enabled; in the rtla
>> build the symbol may be missing, depending on the C library used.
>> Define _GNU_SOURCE unconditionally to prevent build failures with
>> musl:
>>
>> EXTRA_CFLAGS="-D_GNU_SOURCE" \
>
> I haven't found such build failure with musl, do you have a Buildroot
> defconfig that exhibits this bug?
Actually yes, but I need to pare it down, it contains too many
BR2_EXTERNAL references. My original report to Maxime is here:
https://marc.info/?l=buildroot&m=167688843104878&w=2
>>> + LDFLAGS="$(TARGET_LDFLAGS)" \
>>> + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
>>> +
>>
>> Build fails if BR2_TOOLCHAIN_BUILDROOT_USE_SSP is set to 'n', so
>> introduce a workaround, similar to linux-tool-tmon.mk.in:
>>
>> ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
>> define RTLA_DISABLE_STACK_PROTECTOR
>> $(SED) 's/-fstack-protector.* //'
>> $(LINUX_DIR)/tools/tracing/rtla/Makefile
>> endef
>> endif
>
> Thank you, I will
>
>>> +define RTLA_BUILD_CMDS
>>> + $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile
>>> >/dev/null 2>&1 ; then \
>>> + echo "Your kernel version is too old and does not implement
>>> the rtla tool." ; \
>>> + echo "At least kernel 5.19 must be used." ; \
>>> + exit 1 ; \
>>> + fi
>>> +
>>
>> $(RTLA_DISABLE_STACK_PROTECTOR)
>
> Ok
>
>>> + $(TARGET_MAKE_ENV) \
>>> + $(MAKE) $(RTLA_MAKE_OPTS) \
>>> + -C $(LINUX_DIR)/tools/tracing rtla
>>> +endef
>>> +
>>> +# make rtla_install build and install by default documentation using
>>> rst2man
>>> +# but it's not available in Buildroot and we don't want manual files
>>> in target
>>> +# folder so let's simply install the resulting rtla binary and
>>> create symlinks
>>> +# like Linux does in its tools/tracing/rtla/Makefile
>>> +define RTLA_INSTALL_TARGET_CMDS
>>> + $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla
>>> $(TARGET_DIR)/usr/bin
>>> + ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
>>> + ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
>>> +
>>> + # Check if hwnoise is provided or not
>>> + if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile;
>>> then \
>>> + ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
>>> + fi
>>> +endef
>>> -- 2.34.1
>
> Thanks a lot for the accurate review!
>
> Best regards
> --
> Giulio Benetti
> CEO&CTO@Benetti Engineering sas
Kind regards,
Andreas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla
2023-10-19 13:16 ` Giulio Benetti
2023-10-19 13:48 ` Andreas Ziegler
@ 2023-10-24 6:27 ` Andreas Ziegler
2023-10-24 13:49 ` Giulio Benetti
1 sibling, 1 reply; 7+ messages in thread
From: Andreas Ziegler @ 2023-10-24 6:27 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Yann E . MORIN,
buildroot
Hi Giulio, *
[remove everything not related to linux-tool-rtla.mk.in]
On 2023-10-19 13:16, Giulio Benetti wrote:
> Hi Andreas,
>
> thank you for reviewing,
>
> On 19/10/23 14:32, Andreas Ziegler wrote:
>> Hi Giulio, *
>>
>> On 2023-10-14 23:57, Giulio Benetti wrote:
[cut]
>>> diff --git a/package/linux-tools/linux-tool-rtla.mk.in
>>> b/package/linux-tools/linux-tool-rtla.mk.in
>>> new file mode 100644
>>> index 0000000000..04b98f443d
>>> --- /dev/null
>>> +++ b/package/linux-tools/linux-tool-rtla.mk.in
>>> @@ -0,0 +1,40 @@
>>> +################################################################################
>>> +#
>>> +# rtla
>>> +#
>>> +################################################################################
>>> +
>>> +LINUX_TOOLS += rtla
>>> +
>>
>> Linux kernel needs FTRACE, TIMERLAT_TRACER, HIST_TRIGGERS for RTLA to
>> work:
>>
>> ifeq ($(BR2_PACKAGE_LINUX_TOOLS_RTLA),y)
>> define RTLA_LINUX_CONFIG_FIXUPS
>> $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
>> $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
>> $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
>> endef
>> endif
>
> Nice catch! I didn't think about it
>
>>> +RTLA_DEPENDENCIES = host-pkgconf libtracefs
>>> +RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
>>> + CC=$(TARGET_CC) \
>>
>> libtrace{event,fs} are compiled with _GNU_SOURCE enabled; in the rtla
>> build the symbol may be missing, depending on the C library used.
>> Define _GNU_SOURCE unconditionally to prevent build failures with
>> musl:
>>
>> EXTRA_CFLAGS="-D_GNU_SOURCE" \
>
> I haven't found such build failure with musl, do you have a Buildroot
> defconfig that exhibits this bug?
>
I put together a defconfig, based on configs/raspberrypi4_64_defconfig;
changes are, roughly:
C-library musl
binutils 2.41
gcc 13
PIC/PIE not set
SSP none
RELRO none
kernel version 6.6-rc6
kernel patch
https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6-rc6-rt9.patch.xz
no overlay support
linux kernel tools -> rtla
You will run into another error first, because libtracefs is missing
host dependencies.
From src/meson.build:
flex = find_program('flex', required: true)
bison = find_program('bison', required: true)
Modified package/libtracefs/libtracefs.mk:
LIBTRACEFS_DEPENDENCIES = host-bison host-flex host-pkgconf
libtraceevent
BR2_aarch64=y
BR2_cortex_a72=y
BR2_ARM_FPU_VFPV4=y
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
BR2_BINUTILS_VERSION_2_41_X=y
BR2_GCC_VERSION_13_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
# BR2_PIC_PIE is not set
BR2_SSP_NONE=y
BR2_RELRO_NONE=y
BR2_SYSTEM_DHCP="eth0"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6-rc6"
BR2_LINUX_KERNEL_PATCH="https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6-rc6-rt9.patch.xz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_LINUX_TOOLS_RTLA=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4-64/config_4_64bit.txt"
# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
>>> + LDFLAGS="$(TARGET_LDFLAGS)" \
>>> + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
>>> +
>>
>> Build fails if BR2_TOOLCHAIN_BUILDROOT_USE_SSP is set to 'n', so
>> introduce a workaround, similar to linux-tool-tmon.mk.in:
>>
>> ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
>> define RTLA_DISABLE_STACK_PROTECTOR
>> $(SED) 's/-fstack-protector.* //'
>> $(LINUX_DIR)/tools/tracing/rtla/Makefile
>> endef
>> endif
>
> Thank you, I will
>
>>> +define RTLA_BUILD_CMDS
>>> + $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile
>>> >/dev/null 2>&1 ; then \
>>> + echo "Your kernel version is too old and does not implement
>>> the rtla tool." ; \
>>> + echo "At least kernel 5.19 must be used." ; \
>>> + exit 1 ; \
>>> + fi
>>> +
>>
>> $(RTLA_DISABLE_STACK_PROTECTOR)
>
> Ok
>
>>> + $(TARGET_MAKE_ENV) \
>>> + $(MAKE) $(RTLA_MAKE_OPTS) \
>>> + -C $(LINUX_DIR)/tools/tracing rtla
>>> +endef
>>> +
>>> +# make rtla_install build and install by default documentation using
>>> rst2man
>>> +# but it's not available in Buildroot and we don't want manual files
>>> in target
>>> +# folder so let's simply install the resulting rtla binary and
>>> create symlinks
>>> +# like Linux does in its tools/tracing/rtla/Makefile
>>> +define RTLA_INSTALL_TARGET_CMDS
>>> + $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla
>>> $(TARGET_DIR)/usr/bin
>>> + ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
>>> + ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
>>> +
>>> + # Check if hwnoise is provided or not
>>> + if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile;
>>> then \
>>> + ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
>>> + fi
>>> +endef
>>> -- 2.34.1
>
> Thanks a lot for the accurate review!
>
> Best regards
> --
> Giulio Benetti
> CEO&CTO@Benetti Engineering sas
Kind regards,
Andreas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla
2023-10-24 6:27 ` Andreas Ziegler
@ 2023-10-24 13:49 ` Giulio Benetti
2023-10-24 14:37 ` Andreas Ziegler
0 siblings, 1 reply; 7+ messages in thread
From: Giulio Benetti @ 2023-10-24 13:49 UTC (permalink / raw)
To: Andreas Ziegler
Cc: Eric Le Bihan, Pierre Floury, buildroot, Yann E . MORIN,
Maxime Chevallier
Hi Andreas,
On 24/10/23 08:27, Andreas Ziegler wrote:
[ SNIP ]
> I put together a defconfig, based on configs/raspberrypi4_64_defconfig;
> changes are, roughly:
>
> C-library musl
> binutils 2.41
> gcc 13
>
> PIC/PIE not set
> SSP none
> RELRO none
>
> kernel version 6.6-rc6
> kernel patch
> https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6-rc6-rt9.patch.xz
> no overlay support
> linux kernel tools -> rtla
>
> You will run into another error first, because libtracefs is missing
> host dependencies.
>
> From src/meson.build:
> flex = find_program('flex', required: true)
> bison = find_program('bison', required: true)
>
> Modified package/libtracefs/libtracefs.mk:
> LIBTRACEFS_DEPENDENCIES = host-bison host-flex host-pkgconf
> libtraceevent
>
> BR2_aarch64=y
> BR2_cortex_a72=y
> BR2_ARM_FPU_VFPV4=y
> BR2_TOOLCHAIN_BUILDROOT_MUSL=y
> BR2_BINUTILS_VERSION_2_41_X=y
> BR2_GCC_VERSION_13_X=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> # BR2_PIC_PIE is not set
> BR2_SSP_NONE=y
> BR2_RELRO_NONE=y
> BR2_SYSTEM_DHCP="eth0"
> BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
> BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
> BR2_LINUX_KERNEL=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6-rc6"
> BR2_LINUX_KERNEL_PATCH="https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6-rc6-rt9.patch.xz"
> BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
> BR2_LINUX_KERNEL_DTS_SUPPORT=y
> BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
> BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
> BR2_PACKAGE_LINUX_TOOLS_RTLA=y
> BR2_PACKAGE_RPI_FIRMWARE=y
> BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
> BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4-64/config_4_64bit.txt"
> # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_4=y
> BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
> # BR2_TARGET_ROOTFS_TAR is not set
> BR2_PACKAGE_HOST_DOSFSTOOLS=y
> BR2_PACKAGE_HOST_GENIMAGE=y
> BR2_PACKAGE_HOST_MTOOLS=y
>
Reproduced and yes it's fixed with -D_GNU_SOURCE as pointed here:
https://man7.org/linux/man-pages/man3/CPU_SET.3.html
A huge thank you for the help!
Do you mind if I add your SoB describing what you've added on this patch?
--
Giulio Benetti
CEO/CTO@Benetti Engineering sas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla
2023-10-24 13:49 ` Giulio Benetti
@ 2023-10-24 14:37 ` Andreas Ziegler
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Ziegler @ 2023-10-24 14:37 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, buildroot, Yann E . MORIN,
Maxime Chevallier
Hi Giulio,
Nice that this was useful.
On 2023-10-24 13:49, Giulio Benetti wrote:
> Hi Andreas,
>
> On 24/10/23 08:27, Andreas Ziegler wrote:
>
> [ SNIP ]
>
>> I put together a defconfig, based on
>> configs/raspberrypi4_64_defconfig; changes are, roughly:
>>
>> C-library musl
>> binutils 2.41
>> gcc 13
>>
>> PIC/PIE not set
>> SSP none
>> RELRO none
>>
>> kernel version 6.6-rc6
>> kernel patch
>> https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6-rc6-rt9.patch.xz
>> no overlay support
>> linux kernel tools -> rtla
>>
>> You will run into another error first, because libtracefs is missing
>> host dependencies.
>>
>> From src/meson.build:
>> flex = find_program('flex', required: true)
>> bison = find_program('bison', required: true)
>>
>> Modified package/libtracefs/libtracefs.mk:
>> LIBTRACEFS_DEPENDENCIES = host-bison host-flex host-pkgconf
>> libtraceevent
>>
>> BR2_aarch64=y
>> BR2_cortex_a72=y
>> BR2_ARM_FPU_VFPV4=y
>> BR2_TOOLCHAIN_BUILDROOT_MUSL=y
>> BR2_BINUTILS_VERSION_2_41_X=y
>> BR2_GCC_VERSION_13_X=y
>> BR2_TOOLCHAIN_BUILDROOT_CXX=y
>> # BR2_PIC_PIE is not set
>> BR2_SSP_NONE=y
>> BR2_RELRO_NONE=y
>> BR2_SYSTEM_DHCP="eth0"
>> BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
>> BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
>> BR2_LINUX_KERNEL=y
>> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6-rc6"
>> BR2_LINUX_KERNEL_PATCH="https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6-rc6-rt9.patch.xz"
>> BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
>> BR2_LINUX_KERNEL_DTS_SUPPORT=y
>> BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b"
>> BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
>> BR2_PACKAGE_LINUX_TOOLS_RTLA=y
>> BR2_PACKAGE_RPI_FIRMWARE=y
>> BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
>> BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4-64/config_4_64bit.txt"
>> # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
>> BR2_TARGET_ROOTFS_EXT2=y
>> BR2_TARGET_ROOTFS_EXT2_4=y
>> BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
>> # BR2_TARGET_ROOTFS_TAR is not set
>> BR2_PACKAGE_HOST_DOSFSTOOLS=y
>> BR2_PACKAGE_HOST_GENIMAGE=y
>> BR2_PACKAGE_HOST_MTOOLS=y
>>
>
> Reproduced and yes it's fixed with -D_GNU_SOURCE as pointed here:
> https://man7.org/linux/man-pages/man3/CPU_SET.3.html
>
> A huge thank you for the help!
>
> Do you mind if I add your SoB describing what you've added on this
> patch?
>
Not at all:
Signed-off-by: Andreas Ziegler <br015@umbiko.net>
> --
> Giulio Benetti
> CEO/CTO@Benetti Engineering sas
Kind regards,
Andreas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-10-24 14:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <mailman.9571.1697362018.35217.buildroot@buildroot.org>
2023-10-19 12:32 ` [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla Andreas Ziegler
2023-10-19 13:16 ` Giulio Benetti
2023-10-19 13:48 ` Andreas Ziegler
2023-10-24 6:27 ` Andreas Ziegler
2023-10-24 13:49 ` Giulio Benetti
2023-10-24 14:37 ` Andreas Ziegler
2023-10-14 21:57 [Buildroot] [PATCH v4 1/4] package/libtraceevent: new package Giulio Benetti
2023-10-14 21:57 ` [Buildroot] [PATCH v4 3/4] package/linux-tools: add rtla Giulio Benetti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox