Thread (389 messages) 389 messages, 13 authors, 2021-08-21

Re: [PATCH v14 011/138] mm/lru: Add folio LRU functions

From: Mike Rapoport <rppt@kernel.org>
Date: 2021-07-21 14:36:19
Also in: linux-doc, linux-fsdevel, linux-mm

On Wed, Jul 21, 2021 at 12:23:09PM +0100, Matthew Wilcox wrote:
On Wed, Jul 21, 2021 at 11:39:15AM +0300, Mike Rapoport wrote:
quoted
On Wed, Jul 21, 2021 at 05:08:44AM +0100, Matthew Wilcox wrote:
quoted
I wanted to turn those last two sentences into a list, but my
kernel-doc-fu abandoned me.  Feel free to submit a follow-on patch to
fix that ;-)
Here it is ;-)
Did you try it?  Here's what that turns into with htmldoc:
Yes, but I was so happy to see bullets that I missed the fact they are in
the wrong section :(
 
Description

We would like to get this info without a page flag, but the state needs
to survive until the folio is last deleted from the LRU, which could be
as far down as __page_cache_release.

 * 1 if folio is a regular filesystem backed page cache folio or a
   lazily freed anonymous folio (e.g. via MADV_FREE).
 * 0 if folio is a normal anonymous folio, a tmpfs folio or otherwise
   ram or swap backed folio.

Return

An integer (not a boolean!) used to sort a folio onto the right LRU list
and to account folios correctly.

Yes, we get a bulleted list, but it's placed in the wrong section!

Adding linux-doc for additional insight into this problem.
For their reference, here's the input:

/**
 * folio_is_file_lru - Should the folio be on a file LRU or anon LRU?
 * @folio: The folio to test.
 *
 * We would like to get this info without a page flag, but the state
 * needs to survive until the folio is last deleted from the LRU, which
 * could be as far down as __page_cache_release.
 *
 * Return: An integer (not a boolean!) used to sort a folio onto the
 * right LRU list and to account folios correctly.
 *
 * - 1 if @folio is a regular filesystem backed page cache folio
 *   or a lazily freed anonymous folio (e.g. via MADV_FREE).
 * - 0 if @folio is a normal anonymous folio, a tmpfs folio or otherwise
 *   ram or swap backed folio.
 */
static inline int folio_is_file_lru(struct folio *folio)
Hmm, there is some contradiction between kernel-doc assumption that
anything after a blank line is the default (i.e. Description) section and
the sphynx ideas where empty blank lines should be:


	if ($state == STATE_BODY_WITH_BLANK_LINE && /^\s*\*\s?\S/) {
		dump_section($file, $section, $contents);
		$section = $section_default;
		$new_start_line = $.;
		$contents = "";
	}

(from scripts/kernel-doc::process_body())

-- 
Sincerely yours,
Mike.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help