From: Jeff Mahoney <jeffm@suse.com>
To: Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Darren Hart (VMware)" <dvhart@infradead.org>,
Mattias Jacobsson <2pi@mok.nu>,
Andrew Morton <akpm@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mod_devicetable.h: reduce sizeof(struct of_device_id) by 80 bytes
Date: Thu, 2 May 2019 08:29:57 -0400 [thread overview]
Message-ID: <67f54ca8-f4bd-5388-1067-35cd192cf37e@suse.com> (raw)
In-Reply-To: <73918e46-e3c8-edc4-c941-e650c05519c8@rasmusvillemoes.dk>
On 5/2/19 5:41 AM, Rasmus Villemoes wrote:
> On 26/04/2019 11.27, Arnd Bergmann wrote:
>> On Thu, Apr 25, 2019 at 10:31 PM Rasmus Villemoes
>> <linux@rasmusvillemoes.dk> wrote:
>>>
>>> For an arm imx_v6_v7_defconfig kernel, .rodata becomes 70K smaller;
>>> .init.data shrinks by another ~13K, making the whole kernel image
>>> about 83K, or 0.3%, smaller.
>>>
>>> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
>>
>> The space savings are nice, but I wonder if the format of these
>> structures is part of the ABI or not. I have some vague recollection
>> of that, but it's possible that it's no longer true in this century.
>>
>> scripts/mod/file2alias.c processes the structures into a different
>> format and seems to be written specifically to avoid problems
>> with changes like the one you did. Can anyone confirm that
>> this is true before we apply the patch?
>
> I can't confirm it, of course, but I did do some digging around and
> couldn't find anything other than file2alias, which as you mention is
> prepared for such a change. I also couldn't find any specific reason for
> the 128 (it's not a #define, so at least originally it didn't seem to be
> tied to some external consumer) - Jeff, do you remember why you chose
> that back when you did 5e6557722e69?
I had been wondering why I'd been included on this thread. I completely
forgot that I wrote this code nearly 15 years ago. :)
It was probably as simple as there not being a real limit for how long
the compatible string could be and wanting to make it flexible. I was
targetting a powerpc mac notebook I had at the time -- not tight memory
embedded systems, so sorry for that.
> But we cannot really know whether there is some userspace tool that
> parses the .ko ELF objects the same way that file2alias does, doing
> pattern matching on the symbol names etc. I cannot see why anybody would
> _do_ that (the in-tree infrastructure already generates the
> MODULE_ALIAS() from which modules.alias gets generated), but the only
> way of knowing, I think, is to try to apply the patch and see if anybody
> complains.
The size is part of the ABI, though. module-init-tools has a copy of
the same struct and uses that size to walk an array of of_device_id when
a module as more than one. If you shrink it, that will certainly break.
file2alias does the right things only because it's tightly coupled to
the kernel version it's being used with. It still directly accesses the
structure definitions in the headers.
-Jeff
--
Jeff Mahoney
SUSE Labs
next prev parent reply other threads:[~2019-05-02 12:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-25 20:31 Rasmus Villemoes
2019-04-26 9:27 ` Arnd Bergmann
2019-05-02 9:41 ` Rasmus Villemoes
2019-05-02 12:29 ` Jeff Mahoney [this message]
2019-05-02 13:07 ` Rasmus Villemoes
2019-04-26 11:05 ` Enrico Weigelt, metux IT consult
2019-04-26 11:33 ` Rasmus Villemoes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=67f54ca8-f4bd-5388-1067-35cd192cf37e@suse.com \
--to=jeffm@suse.com \
--cc=2pi@mok.nu \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=dvhart@infradead.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®