[lkml]   [2018]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v14 08/11] livepatch: Remove Nop structures when unused
On Thu, 29 Nov 2018, 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
> even though the ftrace handler has no effect.
> + Ftrace handlers are not completely for free. They cause slowdown that
> might be visible in some workloads. The ftrace-related slowdown might
> actually be the reason why the function is not longer patched in
> the new cumulative patch. One would expect that cumulative patch
> would allow to solve these problems as well.
> + 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
> 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.
> 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 <>

Acked-by: Miroslav Benes <>


 \ /
  Last update: 2018-12-04 17:08    [W:0.222 / U:5.576 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site