[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181205201754.cvvywqlmxwgcbqzt@redhat.com>
Date: Wed, 5 Dec 2018 15:17:54 -0500
From: Joe Lawrence <joe.lawrence@...hat.com>
To: Petr Mladek <pmladek@...e.com>
Cc: Jiri Kosina <jikos@...nel.org>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Miroslav Benes <mbenes@...e.cz>,
Jason Baron <jbaron@...mai.com>,
Evgenii Shatokhin <eshatokhin@...tuozzo.com>,
live-patching@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v14 08/11] livepatch: Remove Nop structures when unused
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@...e.com>
> ---
Acked-by: Joe Lawrence <joe.lawrence@...hat.com>
-- Joe
Powered by blists - more mailing lists