On Thu, Mar 14, 2019 at 07:59:00PM +0000, Alan J. Wylie wrote:
Greg KH gregkh@linuxfoundation.org writes:
I'm announcing the release of the 5.0.2 kernel.
There is a regression for AMD-only builds.
Adding the stable list, which people should do...
See also Alec Ari's report: https://lkml.org/lkml/2019/3/13/1113
If CONFIG_CPU_SUP_INTEL is disabled with either the 5.0.2 or 4.20.16 kernel, it errors out right away:
$ grep "CONFIG_CPU_SUP_" .config # CONFIG_CPU_SUP_INTEL is not set CONFIG_CPU_SUP_AMD=y # CONFIG_CPU_SUP_HYGON is not set # CONFIG_CPU_SUP_CENTAUR is not set
CC arch/x86/events/core.o In file included from arch/x86/events/core.c:44: arch/x86/events/perf_event.h:1035:45: warning: ‘struct cpu_hw_event’ declared inside parameter list will not be visible outside of this definition or declaration static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu) ^~~~~~~~~~~~ arch/x86/events/perf_event.h:1040:45: warning: ‘struct cpu_hw_event’ declared inside parameter list will not be visible outside of this definition or declaration static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc) ^~~~~~~~~~~~ arch/x86/events/core.c: In function ‘free_fake_cpuc’: arch/x86/events/core.c:1998:20: error: passing argument 1 of ‘intel_cpuc_finish’ from incompatible pointer type [-Werror=incompatible-pointer-types] intel_cpuc_finish(cpuc); ^~~~ In file included from arch/x86/events/core.c:44: arch/x86/events/perf_event.h:1040:59: note: expected ‘struct cpu_hw_event *’ but argument is of type ‘struct cpu_hw_events *’ static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc) ~~~~~~~~~~~~~~~~~~~~~^~~~ arch/x86/events/core.c: In function ‘allocate_fake_cpuc’: arch/x86/events/core.c:2012:25: error: passing argument 1 of ‘intel_cpuc_prepare’ from incompatible pointer type [-Werror=incompatible-pointer-types] if (intel_cpuc_prepare(cpuc, cpu)) ^~~~ In file included from arch/x86/events/core.c:44: arch/x86/events/perf_event.h:1035:59: note: expected ‘struct cpu_hw_event *’ but argument is of type ‘struct cpu_hw_events *’ static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu) ~~~~~~~~~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as errors
Is this a regression? If so, what commit caused this? Is this also an issue in Linus's tree right now?
thanks,
greg k-h
(Adding Linus, since his tree is also broken)
Greg KH gregkh@linuxfoundation.org writes:
On Thu, Mar 14, 2019 at 07:59:00PM +0000, Alan J. Wylie wrote:
Greg KH gregkh@linuxfoundation.org writes:
I'm announcing the release of the 5.0.2 kernel.
There is a regression for AMD-only builds.
Adding the stable list, which people should do...
See also Alec Ari's report: https://lkml.org/lkml/2019/3/13/1113
If CONFIG_CPU_SUP_INTEL is disabled with either the 5.0.2 or 4.20.16 kernel, it errors out right away:
$ grep "CONFIG_CPU_SUP_" .config # CONFIG_CPU_SUP_INTEL is not set CONFIG_CPU_SUP_AMD=y # CONFIG_CPU_SUP_HYGON is not set # CONFIG_CPU_SUP_CENTAUR is not set
CC arch/x86/events/core.o In file included from arch/x86/events/core.c:44: arch/x86/events/perf_event.h:1035:45: warning: ‘struct cpu_hw_event’ declared inside parameter list will not be visible outside of this definition or declaration static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu) ^~~~~~~~~~~~ arch/x86/events/perf_event.h:1040:45: warning: ‘struct cpu_hw_event’ declared inside parameter list will not be visible outside of this definition or declaration static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc) ^~~~~~~~~~~~ arch/x86/events/core.c: In function ‘free_fake_cpuc’: arch/x86/events/core.c:1998:20: error: passing argument 1 of ‘intel_cpuc_finish’ from incompatible pointer type [-Werror=incompatible-pointer-types] intel_cpuc_finish(cpuc); ^~~~ In file included from arch/x86/events/core.c:44: arch/x86/events/perf_event.h:1040:59: note: expected ‘struct cpu_hw_event *’ but argument is of type ‘struct cpu_hw_events *’ static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc) ~~~~~~~~~~~~~~~~~~~~~^~~~
arch/x86/events/core.c: In function ‘allocate_fake_cpuc’: arch/x86/events/core.c:2012:25: error: passing argument 1 of ‘intel_cpuc_prepare’ from incompatible pointer type [-Werror=incompatible-pointer-types] if (intel_cpuc_prepare(cpuc, cpu)) ^~~~ In file included from arch/x86/events/core.c:44: arch/x86/events/perf_event.h:1035:59: note: expected ‘struct cpu_hw_event *’ but argument is of type ‘struct cpu_hw_events *’ static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu) ~~~~~~~~~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as errors
Is this a regression?
5.0.1 was fine, git pulled, then "make oldconfig" just answering the default "N"s
If so, what commit caused this?
It looks as if it's
commit 3ad8e57560d7652a66da12b41c668a593509f3ad Author: Peter Zijlstra (Intel) peterz@infradead.org Date: Tue Mar 5 22:23:15 2019 +0100
perf/x86/intel: Make cpuc allocations consistent
The cpuc data structure allocation is different between fake and real cpuc's; use the same code to init/free both.
which is the commit which introduces the function:
+static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu)
Is this also an issue in Linus's tree right now?
Yes, as of 3b319ee220a8795406852a897299dbdfc1b09911
CC arch/x86/entry/common.o arch/x86/events/core.c: In function ‘free_fake_cpuc’: arch/x86/events/core.c:1998:20: error: passing argument 1 of ‘intel_cpuc_finish’ from incompatible pointer type [-Werror=incompatible-pointer-types] intel_cpuc_finish(cpuc); ^~~~ Thanks Alan
On Thu, Mar 14, 2019 at 02:52:50PM -0700, Greg KH wrote:
On Thu, Mar 14, 2019 at 08:43:14PM +0000, Alan J. Wylie wrote:
(Adding Linus, since his tree is also broken)
Again, can you try running 'git bisect' to find the offending commit?
Ah, looks like Guenter found it, nevermind...
Greg KH gregkh@linuxfoundation.org writes:
On Thu, Mar 14, 2019 at 02:52:50PM -0700, Greg KH wrote:
On Thu, Mar 14, 2019 at 08:43:14PM +0000, Alan J. Wylie wrote:
(Adding Linus, since his tree is also broken)
Again, can you try running 'git bisect' to find the offending commit?
Ah, looks like Guenter found it, nevermind...
I'd just finished bisecting:
$ git bisect good 3ad8e57560d7652a66da12b41c668a593509f3ad is the first bad commit commit 3ad8e57560d7652a66da12b41c668a593509f3ad Author: Peter Zijlstra (Intel) peterz@infradead.org Date: Tue Mar 5 22:23:15 2019 +0100
perf/x86/intel: Make cpuc allocations consistent
The cpuc data structure allocation is different between fake and real cpuc's; use the same code to init/free both.
Signed-off-by: Peter Zijlstra (Intel) peterz@infradead.org Signed-off-by: Thomas Gleixner tglx@linutronix.de Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
:040000 040000 9066c98aacccc5c85a5783907a8431fe3ab7004c 139f04cab3ddd303ffc595e848d01fac3989ac75 M arch $ git bisect log git bisect start # good: [283506fcd65de1bc10fcc6e2ca633a7b63171ffa] Linux 5.0.1 git bisect good 283506fcd65de1bc10fcc6e2ca633a7b63171ffa # bad: [9e6fdea016e45c5feab60589241e0d3607d39945] Linux 5.0.2 git bisect bad 9e6fdea016e45c5feab60589241e0d3607d39945 # good: [e3f5c3cbe16356cd98518765d891aec90dc34e3d] drm: disable uncached DMA optimization for ARM and arm64 git bisect good e3f5c3cbe16356cd98518765d891aec90dc34e3d # good: [e7b0b71c22e7f9529ae677ba7299efbe6bfbb232] staging: erofs: compressed_pages should not be accessed again after freed git bisect good e7b0b71c22e7f9529ae677ba7299efbe6bfbb232 # bad: [3ad8e57560d7652a66da12b41c668a593509f3ad] perf/x86/intel: Make cpuc allocations consistent git bisect bad 3ad8e57560d7652a66da12b41c668a593509f3ad # good: [3dfe7538f80acf0edf33ae4ae4f639c86e3a3be5] ath9k: Avoid OF no-EEPROM quirks without qca,no-eeprom git bisect good 3dfe7538f80acf0edf33ae4ae4f639c86e3a3be5 # first bad commit: [3ad8e57560d7652a66da12b41c668a593509f3ad] perf/x86/intel: Make cpuc allocations consistent $
Regards Alan
linux-stable-mirror@lists.linaro.org