Re: [PATCH v14 08/11] livepatch: Remove Nop structures when unused

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 29, 2018 at 10:44:28AM +0100, Petr Mladek wrote:
> Replaced patches are removed from the stack when the transition is
> finished. It means that Nop structures will never be needed again
> and can be removed. Why should we care?
> 
>   + Nop structures make false feeling that the function is patched
                     ^^^^^^^^^^^^^^^^^^
re-wording suggestion: "give the impression"

>     even though the ftrace handler has no effect.
> 
>   + Ftrace handlers are not completely for free. They cause slowdown that
                                         ^^^^^^^^
re-wording suggesions: "free" or "do not come for free"

>     might be visible in some workloads. The ftrace-related slowdown might
>     actually be the reason why the function is not longer patched in
                                                 ^^^^^^^^^^
s/not longer/no longer

>     the new cumulative patch. One would expect that cumulative patch
>     would allow to solve these problems as well.
            ^^^^^^^^^^^^^^
re-wording suggestion: "help solve"

> 
>   + Cumulative patches are supposed to replace any earlier version of
>     the patch. The amount of NOPs depends on which version was replaced.
>     This multiplies the amount of scenarios that might happen.
> 
>     One might say that NOPs are innocent. But there are even optimized
>     NOP instructions for different processor, for example, see
                                     ^^^^^^^^^
s/processor/processors

>     arch/x86/kernel/alternative.c. And klp_ftrace_handler() is much
>     more complicated.
> 
>   + It sounds natural to clean up a mess that is not longer needed.
                                                   ^^^^^^^^^^
s/not longer/no longer

>     It could only be worse if we do not do it.
> 
> This patch allows to unpatch and free the dynamic structures independently
> when the transition finishes.
> 
> The free part is a bit tricky because kobject free callbacks are called
> asynchronously. We could not wait for them easily. Fortunately, we do
> not have to. Any further access can be avoided by removing them from
> the dynamic lists.
> 
> Signed-off-by: Petr Mladek <pmladek@xxxxxxxx>
> ---

Acked-by: Joe Lawrence <joe.lawrence@xxxxxxxxxx>

-- Joe



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux