Commit 4e72ee88 authored by Ingo Molnar's avatar Ingo Molnar

Merge tag 'perf-core-for-mingo-5.0-20190110' of...

Merge tag 'perf-core-for-mingo-5.0-20190110' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

Pull perf/core fixes and improvements from Arnaldo Carvalho de Melo:

perf trace:

  Ravi Bangoria:

  - Rework PowerPC syscall table generation, now using a .tbl file just like
    x86_64 and S/390, also silencing a tools build warning about headers out of
    sync with the kernel sources.

tools include uapi:

  Arnaldo Carvalho de Melo:

  - Sync linux/if_link.h copy with the kernel sources, silencing a build warning.

perf top:

  Arnaldo Carvalho de Melo:

  - Add 'arch_cpu_idle' to the list of kernel idle symbols, noticed on a Orange
    Pi Zero ARM board, just like with other symbols in other arches.
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 576b50ea 15c03092
This diff is collapsed.
...@@ -288,6 +288,7 @@ enum { ...@@ -288,6 +288,7 @@ enum {
IFLA_BR_MCAST_IGMP_VERSION, IFLA_BR_MCAST_IGMP_VERSION,
IFLA_BR_MCAST_MLD_VERSION, IFLA_BR_MCAST_MLD_VERSION,
IFLA_BR_VLAN_STATS_PER_PORT, IFLA_BR_VLAN_STATS_PER_PORT,
IFLA_BR_MULTI_BOOLOPT,
__IFLA_BR_MAX, __IFLA_BR_MAX,
}; };
...@@ -533,6 +534,7 @@ enum { ...@@ -533,6 +534,7 @@ enum {
IFLA_VXLAN_LABEL, IFLA_VXLAN_LABEL,
IFLA_VXLAN_GPE, IFLA_VXLAN_GPE,
IFLA_VXLAN_TTL_INHERIT, IFLA_VXLAN_TTL_INHERIT,
IFLA_VXLAN_DF,
__IFLA_VXLAN_MAX __IFLA_VXLAN_MAX
}; };
#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
...@@ -542,6 +544,14 @@ struct ifla_vxlan_port_range { ...@@ -542,6 +544,14 @@ struct ifla_vxlan_port_range {
__be16 high; __be16 high;
}; };
enum ifla_vxlan_df {
VXLAN_DF_UNSET = 0,
VXLAN_DF_SET,
VXLAN_DF_INHERIT,
__VXLAN_DF_END,
VXLAN_DF_MAX = __VXLAN_DF_END - 1,
};
/* GENEVE section */ /* GENEVE section */
enum { enum {
IFLA_GENEVE_UNSPEC, IFLA_GENEVE_UNSPEC,
...@@ -557,10 +567,19 @@ enum { ...@@ -557,10 +567,19 @@ enum {
IFLA_GENEVE_UDP_ZERO_CSUM6_RX, IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
IFLA_GENEVE_LABEL, IFLA_GENEVE_LABEL,
IFLA_GENEVE_TTL_INHERIT, IFLA_GENEVE_TTL_INHERIT,
IFLA_GENEVE_DF,
__IFLA_GENEVE_MAX __IFLA_GENEVE_MAX
}; };
#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
enum ifla_geneve_df {
GENEVE_DF_UNSET = 0,
GENEVE_DF_SET,
GENEVE_DF_INHERIT,
__GENEVE_DF_END,
GENEVE_DF_MAX = __GENEVE_DF_END - 1,
};
/* PPP section */ /* PPP section */
enum { enum {
IFLA_PPP_UNSPEC, IFLA_PPP_UNSPEC,
......
...@@ -14,18 +14,25 @@ PERF_HAVE_JITDUMP := 1 ...@@ -14,18 +14,25 @@ PERF_HAVE_JITDUMP := 1
out := $(OUTPUT)arch/powerpc/include/generated/asm out := $(OUTPUT)arch/powerpc/include/generated/asm
header32 := $(out)/syscalls_32.c header32 := $(out)/syscalls_32.c
header64 := $(out)/syscalls_64.c header64 := $(out)/syscalls_64.c
sysdef := $(srctree)/tools/arch/powerpc/include/uapi/asm/unistd.h syskrn := $(srctree)/arch/powerpc/kernel/syscalls/syscall.tbl
sysprf := $(srctree)/tools/perf/arch/powerpc/entry/syscalls/ sysprf := $(srctree)/tools/perf/arch/powerpc/entry/syscalls
sysdef := $(sysprf)/syscall.tbl
systbl := $(sysprf)/mksyscalltbl systbl := $(sysprf)/mksyscalltbl
# Create output directory if not already present # Create output directory if not already present
_dummy := $(shell [ -d '$(out)' ] || mkdir -p '$(out)') _dummy := $(shell [ -d '$(out)' ] || mkdir -p '$(out)')
$(header64): $(sysdef) $(systbl) $(header64): $(sysdef) $(systbl)
$(Q)$(SHELL) '$(systbl)' '64' '$(CC)' $(sysdef) > $@ @(test -d ../../kernel -a -d ../../tools -a -d ../perf && ( \
(diff -B $(sysdef) $(syskrn) >/dev/null) \
|| echo "Warning: Kernel ABI header at '$(sysdef)' differs from latest version at '$(syskrn)'" >&2 )) || true
$(Q)$(SHELL) '$(systbl)' '64' $(sysdef) > $@
$(header32): $(sysdef) $(systbl) $(header32): $(sysdef) $(systbl)
$(Q)$(SHELL) '$(systbl)' '32' '$(CC)' $(sysdef) > $@ @(test -d ../../kernel -a -d ../../tools -a -d ../perf && ( \
(diff -B $(sysdef) $(syskrn) >/dev/null) \
|| echo "Warning: Kernel ABI header at '$(sysdef)' differs from latest version at '$(syskrn)'" >&2 )) || true
$(Q)$(SHELL) '$(systbl)' '32' $(sysdef) > $@
clean:: clean::
$(call QUIET_CLEAN, powerpc) $(RM) $(header32) $(header64) $(call QUIET_CLEAN, powerpc) $(RM) $(header32) $(header64)
......
...@@ -9,10 +9,9 @@ ...@@ -9,10 +9,9 @@
# Changed by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> # Changed by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
wordsize=$1 wordsize=$1
gcc=$2 SYSCALL_TBL=$2
input=$3
if ! test -r $input; then if ! test -r $SYSCALL_TBL; then
echo "Could not read input file" >&2 echo "Could not read input file" >&2
exit 1 exit 1
fi fi
...@@ -20,18 +19,21 @@ fi ...@@ -20,18 +19,21 @@ fi
create_table() create_table()
{ {
local wordsize=$1 local wordsize=$1
local max_nr local max_nr nr abi sc discard
max_nr=-1
nr=0
echo "static const char *syscalltbl_powerpc_${wordsize}[] = {" echo "static const char *syscalltbl_powerpc_${wordsize}[] = {"
while read sc nr; do while read nr abi sc discard; do
printf '\t[%d] = "%s",\n' $nr $sc if [ "$max_nr" -lt "$nr" ]; then
max_nr=$nr printf '\t[%d] = "%s",\n' $nr $sc
max_nr=$nr
fi
done done
echo '};' echo '};'
echo "#define SYSCALLTBL_POWERPC_${wordsize}_MAX_ID $max_nr" echo "#define SYSCALLTBL_POWERPC_${wordsize}_MAX_ID $max_nr"
} }
$gcc -m${wordsize} -E -dM -x c $input \ grep -E "^[[:digit:]]+[[:space:]]+(common|spu|nospu|${wordsize})" $SYSCALL_TBL \
|sed -ne 's/^#define __NR_//p' \ |sort -k1 -n \
|sort -t' ' -k2 -nu \
|create_table ${wordsize} |create_table ${wordsize}
This diff is collapsed.
...@@ -50,7 +50,6 @@ arch/parisc/include/uapi/asm/errno.h ...@@ -50,7 +50,6 @@ arch/parisc/include/uapi/asm/errno.h
arch/powerpc/include/uapi/asm/errno.h arch/powerpc/include/uapi/asm/errno.h
arch/sparc/include/uapi/asm/errno.h arch/sparc/include/uapi/asm/errno.h
arch/x86/include/uapi/asm/errno.h arch/x86/include/uapi/asm/errno.h
arch/powerpc/include/uapi/asm/unistd.h
include/asm-generic/bitops/arch_hweight.h include/asm-generic/bitops/arch_hweight.h
include/asm-generic/bitops/const_hweight.h include/asm-generic/bitops/const_hweight.h
include/asm-generic/bitops/__fls.h include/asm-generic/bitops/__fls.h
......
...@@ -614,6 +614,7 @@ int modules__parse(const char *filename, void *arg, ...@@ -614,6 +614,7 @@ int modules__parse(const char *filename, void *arg,
static bool symbol__is_idle(const char *name) static bool symbol__is_idle(const char *name)
{ {
const char * const idle_symbols[] = { const char * const idle_symbols[] = {
"arch_cpu_idle",
"cpu_idle", "cpu_idle",
"cpu_startup_entry", "cpu_startup_entry",
"intel_idle", "intel_idle",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment