From: Peter Zijlstra <peterz@infradead.org>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Song Liu <song@kernel.org>,
"linux-modules@vger.kernel.org" <linux-modules@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"hch@lst.de" <hch@lst.de>,
"kernel-team@meta.com" <kernel-team@meta.com>,
Luis Chamberlain <mcgrof@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Guenter Roeck <linux@roeck-us.net>
Subject: Re: [PATCH v4] module: replace module_layout with module_memory
Date: Tue, 31 Jan 2023 15:06:38 +0100 [thread overview]
Message-ID: <Y9kgblwd/wUZ1KCJ@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <6420c572-3d0c-eb64-208e-26b38d3da873@csgroup.eu>
On Tue, Jan 31, 2023 at 12:14:48PM +0000, Christophe Leroy wrote:
> >> Something like
> >>
> >> return within(addr, mod, MOD_TEXT) || within(addr, mod, MOD_DATA) ||
> >> within(addr, mod, MOD_RODATA) || within(addr, mod,
> >> MOD_RO_AFTER_INIT);
> >
> > Urgh, how about?
> >
> > for_each_mod_mem_type(type) {
> > if (!mod_mem_type_is_init(type) && within(addr, mod, type))
> > return true;
> > }
> > return false;
> >
> > Then you have have a bunch of mod_mem_type_id_foo() filter functions
> > that are non-contiguous without having to endlessly repeat stuff
> > manually.
>
> But that's un-readable.
"For all except init."
> You have to have the list of possible types in front of you in order to
> understand what the function does. Which means that one day or another
> someone will change the order of types in the enum, and it will break.
I really don't agree, if you do explicit type lists everywhere you have
to update each and every sites when you modify the enum.
If you make category helpers, like: data, text, init, then you only need
to update the helpers without having to worry about each site. Only if
you add an enum that doesn't fit the existing categories do you need to
do something new.
next prev parent reply other threads:[~2023-01-31 14:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-30 18:21 Song Liu
2023-01-31 9:09 ` Peter Zijlstra
2023-01-31 10:58 ` Christophe Leroy
2023-01-31 12:04 ` Peter Zijlstra
2023-01-31 12:14 ` Christophe Leroy
2023-01-31 14:06 ` Peter Zijlstra [this message]
2023-01-31 17:41 ` Christophe Leroy
2023-01-31 11:14 ` Peter Zijlstra
2023-02-01 0:37 ` Song Liu
2023-01-31 11:26 ` Peter Zijlstra
2023-01-31 11:36 ` Peter Zijlstra
2023-01-31 16:11 ` Thomas Gleixner
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=Y9kgblwd/wUZ1KCJ@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=christophe.leroy@csgroup.eu \
--cc=hch@lst.de \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mcgrof@kernel.org \
--cc=song@kernel.org \
--cc=tglx@linutronix.de \
/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®