[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87pom6lu6a.fsf@concordia.ellerman.id.au>
Date: Tue, 08 Nov 2016 10:57:49 +1100
From: Michael Ellerman <mpe@...erman.id.au>
To: Dmitry Safonov <0x7f454c46@...il.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>
Cc: Dmitry Safonov <dsafonov@...tuozzo.com>,
linuxppc-dev@...ts.ozlabs.org, linux-mm@...ck.org,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCHv3 0/8] powerpc/mm: refactor vDSO mapping code
Dmitry Safonov <0x7f454c46@...il.com> writes:
> 2016-10-27 20:09 GMT+03:00 Dmitry Safonov <dsafonov@...tuozzo.com>:
>
> ping?
There's another series doing some similar changes:
http://www.spinics.net/lists/linux-mm/msg115860.html
And I don't like all the macro games in 3/8, eg:
+#ifndef BITS
+#define BITS 32
+#endif
+
+#undef Elf_Ehdr
+#undef Elf_Sym
+#undef Elf_Shdr
+
+#define _CONCAT3(a, b, c) a ## b ## c
+#define CONCAT3(a, b, c) _CONCAT3(a, b, c)
+#define Elf_Ehdr CONCAT3(Elf, BITS, _Ehdr)
+#define Elf_Sym CONCAT3(Elf, BITS, _Sym)
+#define Elf_Shdr CONCAT3(Elf, BITS, _Shdr)
+#define VDSO_LBASE CONCAT3(VDSO, BITS, _LBASE)
+#define vdso_kbase CONCAT3(vdso, BITS, _kbase)
+#define vdso_pages CONCAT3(vdso, BITS, _pages)
+
+#undef pr_fmt
+#define pr_fmt(fmt) "vDSO" __stringify(BITS) ": " fmt
+
+#define lib_elfinfo CONCAT3(lib, BITS, _elfinfo)
+
+#define find_section CONCAT3(find_section, BITS,)
+static void * __init find_section(Elf_Ehdr *ehdr, const char *secname,
+ unsigned long *size)
I'd rather we kept the duplication of code than the obfuscation those
macros add.
If we can come up with a way to share more of the code without having to
do all those tricks then I'd be interested.
cheers
Powered by blists - more mailing lists