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