On Wed, Jul 22, 2020 at 01:03:03PM -0400, Joe Lawrence wrote: > On 7/21/20 7:04 PM, Josh Poimboeuf wrote: > > On Tue, Jul 21, 2020 at 12:14:06PM -0400, Joe Lawrence wrote: > > > 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.lawre...@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 :-) > > 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. > > 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