Re: [mm/debug] fa6726c1e7: kernel_BUG_at_include/linux/mm.h

Christophe Leroy
2020-04-28T06:13:01Z

Le 28/04/2020 à 07:53, Anshuman Khandual a écrit :
>
>
> On 04/28/2020 10:54 AM, Christophe Leroy wrote:
>>
>>
>> Le 28/04/2020 à 04:51, Qian Cai a écrit :
>>>
>>>
>>>> On Apr 27, 2020, at 10:35 PM, Anshuman Khandual <Anshuman.Khandual@arm.com> wrote:
>>>>
>>>> Letting CONFIG_DEBUG_VM_PGTABLE enabled via CONFIG_EXPERT for unsupported
>>>> platforms i.e without ARCH_HAS_DEBUG_VM_PGTABLE, was a conscious decision
>>>> meant to expand it's adaptability and coverage without requiring any code
>>>> (i.e Kconfig) change. The easier it is to enable the test on unsupported
>>>> platforms right now, more folks are likely to try it out thus increasing
>>>> it's probability to get fixed on those platforms. That is a valid enough
>>>> reason to have CONFIG_EXPERT based enablement method, IMHO. Also even with
>>>> CONFIG_EXPERT set, CONFIG_DEBUG_VM_PGTABLE does not get enabled by default
>>>> automatically.
>>>
>>> No, I am talking about PAE. There is a distinction between known broken that nobody cares (like arm32) and in-progress/unknown status (like s390).
>>>
>>> Also, it is not very nice to introduce regressions for robots when testing PAE because they always select CONFIG__EXPERT and CONFIG_DEBUG_VM.
>>>
>>
>> Having CONFIG_EXPERT and CONFIG_DEBUG_VM is not enough to get CONFIG_DEBUG_VM_PGTABLE set to yes.
>
> Not automatically, that is right. But it can be set if required. Seems like
> the testing robots can and will test with each and every config whether they
> are enabled by default or not. So if we really need to prevent all possible
> testing robot regressions, X86_PAE needs to be disabled completely.
>
>>
>> By default, CONFIG_DEBUG_VM_PGTABLE is set to no when ARCH_HAS_DEBUG_VM_PGTABLE is not set.
>
> That is true. There is a slight change in the rules, making it explicit yes
> only when both ARCH_HAS_DEBUG_VM_PGTABLE and DEBUG_VM are enabled.
>
> +config DEBUG_VM_PGTABLE
> + bool "Debug arch page table for semantics compliance"
> + depends on MMU
> + depends on !IA64 && !ARM
> + depends on ARCH_HAS_DEBUG_VM_PGTABLE || EXPERT
> + default y if ARCH_HAS_DEBUG_VM_PGTABLE && DEBUG_VM
> + help
>
> The default is really irrelevant as the config option can be set explicitly.
>

Yes but Qian was saying: "Also, it is not very nice to introduce
regressions for robots when testing PAE because they always select
CONFIG__EXPERT and CONFIG_DEBUG_VM"

Here we see that the said regression is not introduced because they
select CONFIG__EXPERT and CONFIG_DEBUG_VM. This is because the robots
explicitely select DEBUG_VM_PGTABLE.

Christophe