[PATCH v3 5/6] powerpc/64: Add support for out-of-line static calls
Christophe Leroy
christophe.leroy at csgroup.eu
Fri Oct 7 05:38:00 AEDT 2022
Le 06/10/2022 à 20:22, Segher Boessenkool a écrit :
> On Thu, Oct 06, 2022 at 11:39:50AM +1100, Michael Ellerman wrote:
>> Christophe Leroy <christophe.leroy at csgroup.eu> writes:
>>> However, thinking out loudly, I'm wondering, could we make things any
>>> simpler when CONFIG_MODULES is not selected, or is that a too much
>>> corner case on PPC64 ?
>>
>> I'd say it's mostly a corner case.
>>
>> Obviously no distros ship with modules disabled.
>>
>> AFAIK even the stripped down kernels we use in CPU bringup have modules
>> enabled.
>>
>> So I think it's probably not worth worrying about, unless there's an
>> obvious and fairly simple optimisation.
>
> Long ago I built kernels that fit together with the boot firmware and a
> root fs (busybox+dropbear essentially) in 4MB, but I doubt we can get
> close to that at all these days :-)
4MB, not easy. But 8M still achievable. Well our smaller board has 32M,
we have thousands of it spread all over Europe and have to keep it up to
date ....
>
> What is the overhead if you enable modules but do not use them, these
> days?
>
On the 8xx it is mainly the instruction TLB miss handler:
#ifdef CONFIG_MODULES
mfcr r11
not. r10, r10
#endif
mfspr r10, SPRN_M_TWB /* Get level 1 table */
#ifdef CONFIG_MODULES
blt+ 3f
rlwinm r10, r10, 0, 20, 31
oris r10, r10, (swapper_pg_dir - PAGE_OFFSET)@ha
3:
mtcr r11
#endif
And also some patches which have a interesting impact, like commit
cb3ac45214c0 ("powerpc/code-patching: Don't call
is_vmalloc_or_module_addr() without CONFIG_MODULES")
On the other hand, if we want one day to replace nftables by BPF jitted
iptables, CONFIG_MODULES will be required. So what will be the
trade-off, don't know yet because BPF is not yet cross-compile friendly.
Christophe
More information about the Linuxppc-dev
mailing list