[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c11fd19b-e5b6-1bc9-6392-04dbab358b67@roeck-us.net>
Date: Tue, 9 Jun 2020 07:15:42 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Joerg Roedel <jroedel@...e.de>, Mike Rapoport <rppt@...ux.ibm.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Lutomirski <luto@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] mm/vmalloc: track which page-table levels were modified
On 6/9/20 5:10 AM, Joerg Roedel wrote:
> Hi Mike,
>
> On Fri, Jun 05, 2020 at 01:00:59PM +0300, Mike Rapoport wrote:
>> We already have include/asm-generic/pgalloc.h, so maybe something like
>> that patch below would fork. This is not even compile tested.
>>
>> diff --git a/include/asm-generic/pgalloc.h b/include/asm-generic/pgalloc.h
>
> I experimented a bit with your diff, but it turned out that moving the
> page-table allocation functions/macros to asm-generic/pgalloc.h does not
> work on all architectures.
>
> The reason is that some archs don't use that header at all (e.g. ARC)
> and have their own version of the functions defined there. That could
> all be made working, but I decided to no open this can of worms for now.
>
> So I sent out a patch which moves the p?d_alloc_track() functions/macros
> to a separate header and include it only in mm/vmalloc.c and
> lib/ioremap.c. That compiles on all architectures where current Linus'
> master also builds (it does not for Alpha, CSky, Mips and Mips64), and
> as usual Hexagon and Unicore32 are not tested because I have no working
> compiler for those.
>
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.
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.
I have stopped building unicore32 images since v4.19 since there is
no available compiler that is still supported by the kernel. I am
surprised that support for it has not been removed from the kernel.
I am told that hexagon only supports llvm/clang, and the only version
of gcc that supports it is v4.6.1 (from Sourcery CodeBench Lite
2012.03-66). The minimum version of gcc will be raised to v4.8;
that has already happened in linux-next and will presumably be applied
to mainline shortly. With that, I'll stop build testing hexagon images
as well until I find the time to build a llvm/clang hexagon toolchain.
So you are in good company, and thanks for testing everything else.
Guenter
Powered by blists - more mailing lists