[Letux-kernel] 5.4-rc1 woes

H. Nikolaus Schaller hns at goldelico.com
Thu Oct 3 10:47:16 CEST 2019


> Am 03.10.2019 um 10:44 schrieb Andreas Kemnade <andreas at kemnade.info>:
> 
> On Thu, 3 Oct 2019 08:26:46 +0200
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> 
>>> Am 02.10.2019 um 23:16 schrieb Andreas Kemnade <andreas at kemnade.info>:
>>> 
>>> On Wed, 2 Oct 2019 22:19:31 +0200
>>> Andreas Kemnade <andreas at kemnade.info> wrote:
>>> 
>>> [..]  
>>>> # first bad commit: [ac7c3e4ff401b304489a031938dbeaab585bfe0a] compiler: enable CONFIG_OPTIMIZE_INLINING forcibly
>>>> 
>>>> hmmmm...
>>>> Now it depends on compliers?!
>>>> andi at aktux:~/gta04/gta04-autotest-kernel$ arm-linux-gnueabihf-gcc --version
>>>> arm-linux-gnueabihf-gcc (Debian 8.3.0-2) 8.3.0
>>>> Copyright (C) 2018 Free Software Foundation, Inc.
>>>> This is free software; see the source for copying conditions.  There is NO
>>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>>>> 
>>>> And how to debug it? Well, lets first check whether reverting that
>>>> improves things on 5.4-rc1.
>>>> 
>>> ok, tested to revert it: I had to disable it in .config afterwards,
>>> seems to have crept into letux_defconfig.  
>> 
>> Was automatically set if undefined...
>> 
>> git show f863a359c2b2 | fgrep CONFIG_OPTIMIZE_INLINING
>> -# CONFIG_OPTIMIZE_INLINING is not set
>> +CONFIG_OPTIMIZE_INLINING=y
>> 
>>> And so weird error messages.  
>> 
>> Indeed.
>> 
>>> No bad addresses. I guess it somehow incfluences some copy_to_user
>>> stuff.
>>> Weird. So where to ask...?  
>> 
>> fgrep OPTIMIZE_INLINING -R *
>> arch/arm/boot/src/FULLCONFIG:CONFIG_OPTIMIZE_INLINING=y
>> arch/arm/configs/letux_defconfig:CONFIG_OPTIMIZE_INLINING=y
>> arch/arm/configs/letux_defconfig.bak:CONFIG_OPTIMIZE_INLINING=y
>> arch/arm/configs/letux_lpae_defconfig:CONFIG_OPTIMIZE_INLINING=y
>> arch/arm/configs/letux_lpae_defconfig.bak:CONFIG_OPTIMIZE_INLINING=y
>> arch/arm/configs/omap3_beagle_defconfig:# CONFIG_OPTIMIZE_INLINING is not set
>> arch/mips/boot/src/CONFIG:# CONFIG_OPTIMIZE_INLINING is not set
>> arch/mips/boot/src/FULLCONFIG:CONFIG_OPTIMIZE_INLINING=y
>> arch/mips/configs/letux_defconfig:CONFIG_OPTIMIZE_INLINING=y
>> arch/sparc/vdso/vdso32/vclock_gettime.c:#undef	CONFIG_OPTIMIZE_INLINING
>> arch/x86/configs/i386_defconfig:CONFIG_OPTIMIZE_INLINING=y
>> arch/x86/configs/x86_64_defconfig:CONFIG_OPTIMIZE_INLINING=y
>> arch/x86/entry/vdso/vdso32/vclock_gettime.c:#undef CONFIG_OPTIMIZE_INLINING
>> include/linux/compiler_types.h:#if !defined(CONFIG_OPTIMIZE_INLINING)
>> kernel/configs/tiny.config:CONFIG_OPTIMIZE_INLINING=y
>> lib/Kconfig.debug:config OPTIMIZE_INLINING
>> 
>> So it is defined in lib/Kconfig.debug. Do we still have debugging enabled?
>> 
> well, that Kconfig.debug is enabled unconditionally.
> 
>> Only minimally:
>> 
>> fgrep DEBUG arch/arm/configs/letux_defconfig | fgrep -v '#'
>> CONFIG_DEBUG_FS=y
>> CONFIG_HAVE_DEBUG_KMEMLEAK=y
>> CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
>> CONFIG_DEBUG_MEMORY_INIT=y
>> CONFIG_LOCK_DEBUGGING_SUPPORT=y
>> CONFIG_DEBUG_BUGVERBOSE=y
>> CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
>> 
>> It is used in only one place: include/linux/compiler-gcc.h
>> 
>> But why was it set automatically? Because the new patch forces it to be so...
>> 
>>> Weird.  
>> 
>> Indeed.
>> 
>>> So where to ask...?  
>> 
>> Author: Masahiro Yamada <yamada.masahiro at socionext.com>
>> 
>>    I am keeping the config option just in case any problem crops up for other
>>    architectures.
>> 
> well, the answer is not so easy. That option is e.g. enabled on x86_64
> debian buster kernels. So I am actually writing an email on a kernel
> with that flag turned on.
> 
> So it must be a combination of CONFIGs which
> trigger some bug in the code (probably arm-specific).
> Maybe trying omap2plus_defconfig will be interesting.

Yes, that is one test I was also thinking of.

> 
> It has not turned on CONFIG_PREEMPT.

We need it for the SGX code (which fails to compile if there is no PREEMPT).

BR,
Nikolaus



More information about the Letux-kernel mailing list