2021-01-27 21:08:16

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH v6 0/2] ARM: Implement MODULE_PLT support in FTRACE

Hi Alexander,

On 2/17/2020 6:09 AM, Alexander X Sverdlin wrote:
> From: Alexander Sverdlin <[email protected]>
>
> FTRACE's function tracer currently doesn't always work on ARM with
> MODULE_PLT option enabled. If the module is loaded too far, FTRACE's
> code modifier cannot cope with introduced veneers and turns the
> function tracer off globally.
>
> ARM64 already has a solution for the problem, refer to the following
> patches:
>
> arm64: ftrace: emit ftrace-mod.o contents through code
> arm64: module-plts: factor out PLT generation code for ftrace
> arm64: ftrace: fix !CONFIG_ARM64_MODULE_PLTS kernels
> arm64: ftrace: fix building without CONFIG_MODULES
> arm64: ftrace: add support for far branches to dynamic ftrace
> arm64: ftrace: don't validate branch via PLT in ftrace_make_nop()
>
> But the presented ARM variant has just a half of the footprint in terms of
> the changed LoCs. It also retains the code validation-before-modification
> instead of switching it off.

We have been using those patches and I was wondering what happened after
this version since they did not show up upstream nor in Russell's patch
tracker? Would you be willing to resubmit them?

Thanks!
--
Florian


2021-01-27 22:10:52

by Alexander Sverdlin

[permalink] [raw]
Subject: Re: [PATCH v6 0/2] ARM: Implement MODULE_PLT support in FTRACE

Hello Florian,

On 27/01/2021 05:48, Florian Fainelli wrote:
>> FTRACE's function tracer currently doesn't always work on ARM with
>> MODULE_PLT option enabled. If the module is loaded too far, FTRACE's
>> code modifier cannot cope with introduced veneers and turns the
>> function tracer off globally.
>>
>> ARM64 already has a solution for the problem, refer to the following
>> patches:
>>
>> arm64: ftrace: emit ftrace-mod.o contents through code
>> arm64: module-plts: factor out PLT generation code for ftrace
>> arm64: ftrace: fix !CONFIG_ARM64_MODULE_PLTS kernels
>> arm64: ftrace: fix building without CONFIG_MODULES
>> arm64: ftrace: add support for far branches to dynamic ftrace
>> arm64: ftrace: don't validate branch via PLT in ftrace_make_nop()
>>
>> But the presented ARM variant has just a half of the footprint in terms of
>> the changed LoCs. It also retains the code validation-before-modification
>> instead of switching it off.
> We have been using those patches and I was wondering what happened after
> this version since they did not show up upstream nor in Russell's patch
> tracker? Would you be willing to resubmit them?

it's a pity, but nobody ever showed any interest to take them to fix real problem
in FTRACE. A grain of salt would be to remind, that no-one also replied that
the series helped him or a Tested-by: tag. This would probably wake more
interest from maintainers side.

Of course I can re-send them because I personally re-base them regularly.

--
Best regards,
Alexander Sverdlin.