Re: [PATCH] mm/vmalloc: track which page-table levels were modified

Guenter Roeck
2020-06-09T17:07:49Z

On 6/9/20 9:23 AM, Joerg Roedel wrote:
> Hi Guenter,
>
> On Tue, Jun 09, 2020 at 07:15:42AM -0700, Guenter Roeck wrote:
>> To build csky images, you have to disable CONFIG_FRAME_POINTER or use a
>> non-upstream compiler. To build any images reliably, you have to disable
>> CONFIG_GCC_PLUGIN_RANDSTRUCT or use a version of gcc old enough to not
>> support it (gcc 6.x is fine). For mips, you have to specify ARCH and
>> CROSS_COMPILE as environment variables.
>
> My test setup builds defconfigs for all architectures using the gcc-9.3
> based cross-compilers from kernel.org (except the ones I have no
> compiler for). That used to work for CSky and MIPS(64) when working on
> my vmalloc changes.
>
> On MIPS the build failure looks like some Makefile breakage, but I
> didn't dive deeper into that.
>

Yes, that was discussed elsewhere. A fix has been submitted and should
hopefully find its way into the kernel sometime soon.

> For CSky the compiler complains about not supporting '-mbacktrace'.
>

Yes, that is why you have to disable CONFIG_FRAME_POINTER.
'-mbacktrace' is not supported in upstream versions of gcc for csky;
it is only supported in the out-of-tree csky toolchain.

>> alpha is a lost case. The offending commit is 0f1c9688a19 ("tty/sysrq:
>> alpha: export and use __sysrq_get_key_op()"); it looks like that wasn't
>> build tested. It can not be reverted easily because of subsequent changes.
>
> The below diff fixed the alpha build for me, but I am sure another fix
> is already queued somewhere.
>

Let's hope it is.

Thanks,
Guenter

> diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
> index 6fa802c495b4..8f4ad63a3a9a 100644
> --- a/arch/alpha/kernel/setup.c
> +++ b/arch/alpha/kernel/setup.c
> @@ -431,8 +431,13 @@ register_cpus(void)
> arch_initcall(register_cpus);
>
> #ifdef CONFIG_MAGIC_SYSRQ
> +static void sysrq_reboot_handler(int unused)
> +{
> + machine_halt();
> +}
> +
> static const struct sysrq_key_op srm_sysrq_reboot_op = {
> - .handler = machine_halt,
> + .handler = sysrq_reboot_handler,
> .help_msg = "reboot(b)",
> .action_msg = "Resetting",
> .enable_mask = SYSRQ_ENABLE_BOOT,
>