lkml.org 
[lkml]   [2019]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] arm64: Allow user selection of ARM64_MODULE_PLTS
On Thu, Jun 13, 2019 at 07:59:32PM -0700, Florian Fainelli wrote:
> Make ARM64_MODULE_PLTS a selectable Kconfig symbol, since some people
> might have very big modules spilling out of the dedicated module area
> into vmalloc. Help text is copied from the ARM 32-bit counterpart.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
> arch/arm64/Kconfig | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 697ea0510729..36befe987b73 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1418,8 +1418,20 @@ config ARM64_SVE
> KVM in the same kernel image.
>
> config ARM64_MODULE_PLTS
> - bool
> + bool "Use PLTs to allow module memory to spill over into vmalloc area"
> select HAVE_MOD_ARCH_SPECIFIC
> + help
> + Allocate PLTs when loading modules so that jumps and calls whose
> + targets are too far away for their relative offsets to be encoded
> + in the instructions themselves can be bounced via veneers in the
> + module's PLT. This allows modules to be allocated in the generic
> + vmalloc area after the dedicated module memory area has been
> + exhausted. The modules will use slightly more memory, but after
> + rounding up to page size, the actual memory footprint is usually
> + the same.

Isn't the worry really about the runtime performance overhead introduced
by the veneers, as opposed to the memory usage of the module?

> + Disabling this is usually safe for small single-platform
> + configurations. If unsure, say y.

So should this be on by default?

Will

\
 
 \ /
  Last update: 2019-06-17 19:33    [W:0.371 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site