From: Lorenzo Stoakes <lstoakes@gmail.com>
To: David Rientjes <rientjes@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>, Mike Rapoport <rppt@kernel.org>,
linux-mm@kvack.org, Matthew Wilcox <willy@infradead.org>
Subject: Re: [LSF/MM/BPF TOPIC] mm documentation
Date: Mon, 22 May 2023 08:47:26 +0100 [thread overview]
Message-ID: <88c7533d-ea15-4b81-9160-e112724721f1@lucifer.local> (raw)
In-Reply-To: <b3db1bfc-f594-5368-dab9-4d3bae94e2ac@google.com>
On Sun, May 21, 2023 at 04:50:57PM -0700, David Rientjes wrote:
> On Tue, 16 May 2023, Jonathan Corbet wrote:
>
> > >> > And if we are going to participate in projects like Outreachy and Google
> > >> > Season of Docs, we can suggest a project "Convert Lorenzo's book to kernel
> > >> > documentation" alongside "Write more MM documentation" project.
> > >>
> > >> Yeah, this could be a good starting point actually, as rather than starting
> > >> from zero, people would have some material that they can cross-check.
> > >
> > > I'm going to suggest "MM docs" for the next Outreachy round and I'll ping
> > > you then about the "Convert Lorenzo's book to kernel documentation"
> > > project.
> > >
> > > As for participation in the Google Season of Docs, maybe this should be
> > > more broad than only mm docs.
> > > Jon, what do you think?
> >
> > Sorry, I'm still catching up from travel and have a lot of digging out
> > to do...
> >
> > Converting relevant bits of the book to RST seems like a great project.
> > In theory pandoc can do that, but I've never tried it and can imagine
> > that a fair amount of tweaking is required.
> >
> > Season of docs definitely seems worth looking into, but we've missed the
> > bus for this year. Something to keep in mind next January.
> >
>
> I think both of these programs are useful for importing mm documentation
> that is up-to-date at the time that it's imported.
>
> I'm concerned that the documentation will quickly become out of date,
> however. If mm documentation were imported before the introduction of
> folios or per-vma locking, for example, it would likely need large scale
> changes.
>
Yeah, this is one of the ways in which the book differs quite a bit from
the documentation process - I get to 'cheat' in that I have frozen the
target on v6, skip all arches but x86-64 and also don't cover quite a few
things for the sake of brevity/feasibility.
Key purpose is to a. describe core algorithms and concepts that should
(probably) not change too much [relevant to mm docs] and b. describe code
that might become/already is obsolete in considerable detail, intending to
give a smaller delta to book/code + provide basis for reader to go to code
[not relevant to mm docs].
Obviously kernel documentation cannot take this approach.
> Maybe the idea is that any documentation, no matter how outdated, is
> better than no documentation. This may not always be the case, however:
> how often have people become frustrated that the documentation that does
> exist doesn't actually reflect the current state of the kernel anymore?
>
My thinking on book/doc overlap was precisely the area for which docs can
be written without too much concern about obsolescence - core
concepts/algorithms that are highly unlikely to change any time soon.
This kind of area seems like a good early target for docs, and Mike has
already gone down this road with the (excellent) node/zone documentation.
I do want to reiterate what I raised at LSF/MM, which is that documentation
is the ultimate bikeshed bait and we do have to try to reach a bar of 'good
enough' to prevent endless nitpicks slowing documentation patches to a
glacial pace.
Perhaps providing broad strokes descriptions of e.g. page cache/reclaim can
set the groundwork and momentum for future changes. Adjusting a document to
tweak a description of how reclaim works in scenario XYZ is a lot less
daunting than having to write something from scratch.
> Mike, I think one of the goals you were trying to achieve at LSF/MM/BPF
> was how this documentation would not only get originally created/imported,
> but also how it would stay relatively up-to-date. To keep the
> documentation current, I think the burden would likely need to fall on the
> kernel hakcers who are actually developing the code?
>
I will let Mike comment on this obviously but from my perspective and as
discussed at LSF/MM, process seems to me to be absolutely key to this - new
features such as per-VMA locks or maple trees should proactively _require_
documentation in my view.
Equally changes to logic that would render documentation out of date should
require changes there also.
As a hobbyist my constraints differ quite a bit from you guys working full
time on this so I realise there might be difficulty justifying time on such
things, but maintainers have the ability to insist + establish new
requirements :)
Just my 2 English pence however, as the process side is something that
maintainers need to figure out.
I feel like this is a game of two halves - the core algos are the
low-hanging fruit, as they can be written at our leisure. The detailed
stuff that is in constant flux really requires a change in process to be
viable.
next prev parent reply other threads:[~2023-05-22 7:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-01 19:03 Mike Rapoport
2023-05-12 1:39 ` Lorenzo Stoakes
2023-05-12 17:37 ` Mike Rapoport
2023-05-13 11:21 ` Lorenzo Stoakes
2023-05-15 6:07 ` Mike Rapoport
2023-05-16 15:10 ` Jonathan Corbet
2023-05-21 23:50 ` David Rientjes
2023-05-22 7:47 ` Lorenzo Stoakes [this message]
2023-05-23 8:50 ` Mike Rapoport
-- strict thread matches above, loose matches on Subject: below --
2020-02-06 16:53 [LSF/MM/BPF TOPIC]: MM documentation Mike Rapoport
2020-02-17 1:10 ` Ira Weiny
2020-02-22 2:15 ` John Hubbard
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=88c7533d-ea15-4b81-9160-e112724721f1@lucifer.local \
--to=lstoakes@gmail.com \
--cc=corbet@lwn.net \
--cc=linux-mm@kvack.org \
--cc=rientjes@google.com \
--cc=rppt@kernel.org \
--cc=willy@infradead.org \
/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