All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] stress-ng: Depend on kernel headers >= 3.3
Date: Sat, 12 Sep 2015 11:19:52 +0100	[thread overview]
Message-ID: <55F3FC48.1000601@imgtec.com> (raw)
In-Reply-To: <1441988351-9923-1-git-send-email-corjon.j@ecagroup.com>

Dear Julien Corjon,

On 11/09/15 17:19, Julien Corjon wrote:
> perf.c need PERF_COUNT_HW_REF_CPU_CYCLES instruction which is available
> only since 3.3 kernel version
>
> Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>

How I tested it:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?id=v3.2&qt=grep&q=PERF_COUNT_HW_REF_CPU_CYCLES

Not found.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?id=v3.3&qt=grep&q=PERF_COUNT_HW_REF_CPU_CYCLES

Found. Indeed, PERF_COUNT_HW_REF_CPU_CYCLES is available from v3.3, 
although is not an instruction (as you say in the subject) but a generic 
PMU event, as stated in the commit log:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c37e17497e01fc0f5d2d6feb5723b210b3ab8890

Perhaps you could change your commit log to make it more accurate.

Trying to build stress-ng with a toolchain with 3.2 headers:

$ grep 'BR2_TOOLCHAIN_HEADERS_AT_LEAST=' .config
BR2_TOOLCHAIN_HEADERS_AT_LEAST="3.2"

This is the error message:

/br/output/host/usr/bin/mips-buildroot-linux-gnu-gcc -D_LARGEFILE_SOURCE 
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall -Wextra 
-DVERSION="0.04.16" -O2 -c -o perf.o perf.c
perf.c:77:48: error: ?PERF_COUNT_HW_REF_CPU_CYCLES? undeclared here (not 
in a function)
   { STRESS_PERF_ ## config, PERF_TYPE_ ## type, PERF_COUNT_ ## config, 
label }
                                                 ^
perf.c:110:2: note: in expansion of macro ?PERF_INFO?
   PERF_INFO(HARDWARE, HW_REF_CPU_CYCLES,  "Total Cycles"),
   ^
make[1]: *** [perf.o] Error 1

Trying to build stress-ng with a toolchain with headers > 3.2:

$ grep 'BR2_TOOLCHAIN_HEADERS_AT_LEAST=' .config
BR2_TOOLCHAIN_HEADERS_AT_LEAST="3.19"

$ file output/target/usr/bin/stress-ng
output/target/usr/bin/stress-ng: ELF 32-bit MSB executable, MIPS, MIPS32 
rel2 version 1 (SYSV), dynamically linked (uses shared libs), for 
GNU/Linux 2.6.32, with unknown capability 0x41000000 = 0xf676e75, with 
unknown capability 0x10000 = 0x70403, stripped

Built successfully for MIPS architecture.

Regards,

Vincent.

> ---
>   package/stress-ng/Config.in | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/package/stress-ng/Config.in b/package/stress-ng/Config.in
> index cdf9984..1e475b1 100644
> --- a/package/stress-ng/Config.in
> +++ b/package/stress-ng/Config.in
> @@ -4,8 +4,8 @@ config BR2_PACKAGE_STRESS_NG
>   	# disabled on musl: stress-malloc.c needs mallopt() and M_MMAP_THRESHOLD
>   	# disabled on uClibc: stress-aio.c needs aio.h
>   	depends on BR2_TOOLCHAIN_USES_GLIBC
> -	# perf.c needs PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
> -	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
> +	# perf.c needs PERF_COUNT_HW_REF_CPU_CYCLES
> +	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
>   	depends on !BR2_microblaze # keyutils
>   	depends on !BR2_STATIC_LIBS # keyutils
>   	select BR2_PACKAGE_KEYUTILS # stress-key.c needs keyutils.h
> @@ -18,8 +18,8 @@ config BR2_PACKAGE_STRESS_NG
>
>   	  http://kernel.ubuntu.com/~cking/stress-ng/
>
> -comment "stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.0"
> +comment "stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.3"
>   	depends on !BR2_microblaze
>   	depends on BR2_USE_MMU
> -	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 \
> +	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 \
>   		|| !BR2_TOOLCHAIN_USES_GLIBC
>

  parent reply	other threads:[~2015-09-12 10:19 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-11 16:19 [Buildroot] [PATCH 1/1] stress-ng: Depend on kernel headers >= 3.3 Julien Corjon
2015-09-11 17:59 ` Thomas Petazzoni
2015-09-12 10:26   ` Romain Naour
2015-09-13 14:27     ` Romain Naour
2015-09-12 10:19 ` Vicente Olivert Riera [this message]
2015-09-14  7:43 ` [Buildroot] [PATCH v2] " Julien Corjon
2015-09-14  8:59   ` Vicente Olivert Riera
2015-09-14 12:36   ` Peter Korsgaard

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=55F3FC48.1000601@imgtec.com \
    --to=vincent.riera@imgtec.com \
    --cc=buildroot@busybox.net \
    /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.