Thread (18 messages) 18 messages, 5 authors, 2024-06-07

Re: [PATCH 1/2] docs/livepatch: Add new compiler considerations doc

From: Josh Poimboeuf <hidden>
Date: 2020-07-22 20:51:51
Also in: lkml

On Wed, Jul 22, 2020 at 01:03:03PM -0400, Joe Lawrence wrote:
On 7/21/20 7:04 PM, Josh Poimboeuf wrote:
quoted
On Tue, Jul 21, 2020 at 12:14:06PM -0400, Joe Lawrence wrote:
quoted
Compiler optimizations can have serious implications on livepatching.
Create a document that outlines common optimization patterns and safe
ways to livepatch them.

Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
There's a lot of good info here, but I wonder if it should be
reorganized a bit and instead called "how to create a livepatch module",
because that's really the point of it all.
That would be nice.  Would you consider a stand-alone compiler-optimizations
doc an incremental step towards that end?  Note that the other files
(callbacks, shadow-vars, system-state) in their current form might be as
confusing to the newbie.
It's an incremental step towards _something_.  Whether that's a cohesive
patch creation guide, or just a growing hodgepodge of random documents,
it may be too early to say :-)
quoted
I'm thinking a newcomer reading this might be lost.  It's not
necessarily clear that there are currently two completely different
approaches to creating a livepatch module, each with their own quirks
and benefits/drawbacks.  There is one mention of a "source-based
livepatch author" but no explanation of what that means.
Yes, the initial draft was light on source-based patching since I only
really tinker with it for samples/kselftests.  The doc was the result of an
experienced livepatch developer and Sunday afternoon w/the compiler. I'm
sure it reads as such. :)
Are experienced livepatch developers the intended audience?  If so I
question what value this document has in its current form.  Presumably
experienced livepatch developers would already know this stuff.
quoted
Maybe it could begin with an overview of the two approaches, and then
delve more into the details of each approach, and then delve even more
into the gory details about compiler optimizations.
Up until now, the livepatch documentation has danced around the particular
creation method and only described the API in abstract.  If a compiler
considerations doc needs to have that complete context then I'd suggest we
reorganize the entire lot as a prerequisite.
I wouldn't say it *needs* to have that context.  But it would be a lot
more useful with it.  As you pointed out, the existing documents do need
to be reorganized into a more cohesive whole.

-- 
Josh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help