From: Miroslav Benes <mbenes@suse.cz>
To: Joe Lawrence <joe.lawrence@redhat.com>
Cc: Petr Mladek <pmladek@suse.com>,
Josh Poimboeuf <jpoimboe@redhat.com>,
live-patching@vger.kernel.org, linux-kernel@vger.kernel.org,
nstange@suse.de
Subject: Re: refactoring livepatch documentation was Re: [PATCH 1/2] docs/livepatch: Add new compiler considerations doc
Date: Wed, 2 Sep 2020 16:00:55 +0200 (CEST) [thread overview]
Message-ID: <alpine.LSU.2.21.2009021549320.23200@pobox.suse.cz> (raw)
In-Reply-To: <3842fe65-332e-9f90-fe75-7cd80b34b75e@redhat.com>
[side note: So not only that my INBOX is a mess after the summer. I also
lost some emails apparently. I'm really sorry about that. ]
CCing Nicolai too.
> Hi Petr, Josh,
>
> The compiler optimization pitfall document can wait for refactored livepatch
> documentation if that puts it into better context, particularly for newbies.
> I don't mind either way. FWIW, I don't profess to be an authoritative source
> its content -- we've dealt some of these issues in kpatch, so it was
> interesting to see how they affect livepatches that don't rely on binary
> comparison.
>
>
> Toward the larger goal, I've changed the thread subject to talk about how we
> may rearrange and supplement our current documentation. This is a first pass
> at a possible refactoring...
>
>
> 1. Provide a better index page to connect the other files/docs, like
> https://www.kernel.org/doc/html/latest/core-api/index.html but obviously not
> that extensive. Right now we have only a Table of Contents tree without any
> commentary.
>
> 2. Rearrange and refactor sections:
>
> livepatch.rst
> Keep just about everything
> Add a history section to explain ksplice, kgraft, kpatch for the
> uninitiated?
> Add a section on source based vs. binary diff livepatch creation,
> this may be worth its own top-level section
>
> Livepatch API
> Basic API
> Callbacks
> Shadow variables
> Cumulative patches
> System state
>
> KLP Relocations
> Right now this is a bit academic AFAIK kpatch is the only tool
> currently making use of them. So maybe this document becomes a
> more general purpose doc explaining how to reference unexported
> symbols? (ie, how does kgraft currently do it, particularly
> w/kallsyms going unexported?)
Yes, we rely on kallsyms_lookup_name() pretty much right now and once we
hit the problem with the next kernel version upgrade, we'll have to fix
it.
> Eventually this could contain klp-convert howto if it ever gets
> merged.
>
> Compiler considerations
> TBD
>
> I suppose this doesn't create a "Livepatching creation for dummies" guide, but
> my feeling is that there are so many potential (hidden) pitfalls that such
> guide would be dangerous.
It does not create the guide, but it looks like a good basis. I agree with
Josh here. It might be difficult at the beginning, but the outcome could
be great even for a newbie and I think we should aim for that.
> If someone were to ask me today how to start building a livepatch, I would
> probably point them at the samples to demonstrate the basic concept and API,
> but then implore them to read through the documentation to understand how
> quickly complicated it can become.
True.
We discuss the need to properly document our internal process every once
in a while and there is always something more important to deal with, but
it is high time to finally start with that.
Miroslav
next prev parent reply other threads:[~2020-09-02 14:57 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-21 16:14 [PATCH 0/2] livepatch: Add compiler optimization disclaimer/docs Joe Lawrence
2020-07-21 16:14 ` [PATCH 1/2] docs/livepatch: Add new compiler considerations doc Joe Lawrence
2020-07-21 23:04 ` Josh Poimboeuf
2020-07-22 17:03 ` Joe Lawrence
2020-07-22 20:51 ` Josh Poimboeuf
2020-08-06 12:03 ` Petr Mladek
2020-08-10 19:46 ` refactoring livepatch documentation was " Joe Lawrence
2020-09-01 17:12 ` Josh Poimboeuf
2020-09-02 14:00 ` Miroslav Benes [this message]
2020-09-02 13:45 ` Miroslav Benes
2020-07-21 16:14 ` [PATCH 2/2] samples/livepatch: Add README.rst disclaimer Joe Lawrence
2020-08-06 12:07 ` Petr Mladek
2020-09-02 13:46 ` Miroslav Benes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LSU.2.21.2009021549320.23200@pobox.suse.cz \
--to=mbenes@suse.cz \
--cc=joe.lawrence@redhat.com \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=live-patching@vger.kernel.org \
--cc=nstange@suse.de \
--cc=pmladek@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).