2022-06-15 10:31:46

by Bagas Sanjaya

[permalink] [raw]
Subject: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

When building htmldocs on Linus' tree, there are inline emphasis warnings
on include/linux/highmem.h:

Documentation/vm/highmem:166: ./include/linux/highmem.h:154: WARNING: Inline emphasis start-string without end-string.
Documentation/vm/highmem:166: ./include/linux/highmem.h:157: WARNING: Inline emphasis start-string without end-string.

These warnings above are due to comments in code example of
kmap_atomic() inside kernel-doc comment of *kmap_local_folio() are enclosed
by double dash (--) instead of prefixed with C comment symbol (//).

Fix these warnings by indenting the code example with literal block
indentation and prefixing comments inside the example with C comment
symbol.

Fixes: 85a85e7601263f ("Documentation/vm: move "Using kmap-atomic" to highmem.h")
Cc: Andrew Morton <[email protected]>
Cc: Ira Weiny <[email protected]>
Cc: "Matthew Wilcox (Oracle)" <[email protected]>
Cc: "Fabio M. De Francesco" <[email protected]>
Cc: Sebastian Andrzej Siewior <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Bagas Sanjaya <[email protected]>
---
Changes since v1 [1]:
- Point that the code example is for kmap_atomic() (suggested by
Matthew Wilcox)
- Use C comments instead of Unix shell comments prefix (suggested by
Ira Weiny)

[1]: https://lore.kernel.org/linux-doc/[email protected]/

include/linux/highmem.h | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/include/linux/highmem.h b/include/linux/highmem.h
index 3af34de54330cb..56d6a019653489 100644
--- a/include/linux/highmem.h
+++ b/include/linux/highmem.h
@@ -149,19 +149,19 @@ static inline void *kmap_local_folio(struct folio *folio, size_t offset);
* It is used in atomic context when code wants to access the contents of a
* page that might be allocated from high memory (see __GFP_HIGHMEM), for
* example a page in the pagecache. The API has two functions, and they
- * can be used in a manner similar to the following:
+ * can be used in a manner similar to the following::
*
- * -- Find the page of interest. --
- * struct page *page = find_get_page(mapping, offset);
+ * // Find the page of interest.
+ * struct page *page = find_get_page(mapping, offset);
*
- * -- Gain access to the contents of that page. --
- * void *vaddr = kmap_atomic(page);
+ * // Gain access to the contents of that page.
+ * void *vaddr = kmap_atomic(page);
*
- * -- Do something to the contents of that page. --
- * memset(vaddr, 0, PAGE_SIZE);
+ * // Do something to the contents of that page.
+ * memset(vaddr, 0, PAGE_SIZE);
*
- * -- Unmap that page. --
- * kunmap_atomic(vaddr);
+ * // Unmap that page.
+ * kunmap_atomic(vaddr);
*
* Note that the kunmap_atomic() call takes the result of the kmap_atomic()
* call, not the argument.

base-commit: 018ab4fabddd94f1c96f3b59e180691b9e88d5d8
--
An old man doll... just what I always wanted! - Clara


2022-06-15 14:43:47

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

On Wed, Jun 15, 2022 at 05:15:10PM +0700, Bagas Sanjaya wrote:
> These warnings above are due to comments in code example of
> kmap_atomic() inside kernel-doc comment of *kmap_local_folio() are enclosed

You still seem to think this has something to do with kmap_local_folio().
It has nothing to do with kmap_local_folio(). Your next version of this
patch should not mention kmap_local_folio() anywhere.

> by double dash (--) instead of prefixed with C comment symbol (//).
>
> Fix these warnings by indenting the code example with literal block
> indentation and prefixing comments inside the example with C comment
> symbol.
>
> Fixes: 85a85e7601263f ("Documentation/vm: move "Using kmap-atomic" to highmem.h")
> Cc: Andrew Morton <[email protected]>
> Cc: Ira Weiny <[email protected]>
> Cc: "Matthew Wilcox (Oracle)" <[email protected]>
> Cc: "Fabio M. De Francesco" <[email protected]>
> Cc: Sebastian Andrzej Siewior <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Bagas Sanjaya <[email protected]>
> ---
> Changes since v1 [1]:
> - Point that the code example is for kmap_atomic() (suggested by
> Matthew Wilcox)
> - Use C comments instead of Unix shell comments prefix (suggested by
> Ira Weiny)
>
> [1]: https://lore.kernel.org/linux-doc/[email protected]/
>
> include/linux/highmem.h | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/include/linux/highmem.h b/include/linux/highmem.h
> index 3af34de54330cb..56d6a019653489 100644
> --- a/include/linux/highmem.h
> +++ b/include/linux/highmem.h
> @@ -149,19 +149,19 @@ static inline void *kmap_local_folio(struct folio *folio, size_t offset);
> * It is used in atomic context when code wants to access the contents of a
> * page that might be allocated from high memory (see __GFP_HIGHMEM), for
> * example a page in the pagecache. The API has two functions, and they
> - * can be used in a manner similar to the following:
> + * can be used in a manner similar to the following::
> *
> - * -- Find the page of interest. --
> - * struct page *page = find_get_page(mapping, offset);
> + * // Find the page of interest.
> + * struct page *page = find_get_page(mapping, offset);
> *
> - * -- Gain access to the contents of that page. --
> - * void *vaddr = kmap_atomic(page);
> + * // Gain access to the contents of that page.
> + * void *vaddr = kmap_atomic(page);
> *
> - * -- Do something to the contents of that page. --
> - * memset(vaddr, 0, PAGE_SIZE);
> + * // Do something to the contents of that page.
> + * memset(vaddr, 0, PAGE_SIZE);
> *
> - * -- Unmap that page. --
> - * kunmap_atomic(vaddr);
> + * // Unmap that page.
> + * kunmap_atomic(vaddr);
> *
> * Note that the kunmap_atomic() call takes the result of the kmap_atomic()
> * call, not the argument.
>
> base-commit: 018ab4fabddd94f1c96f3b59e180691b9e88d5d8
> --
> An old man doll... just what I always wanted! - Clara
>
>

2022-06-15 14:57:41

by Ira Weiny

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

On Wed, Jun 15, 2022 at 07:52:23AM -0700, Ira wrote:
> On Wed, Jun 15, 2022 at 05:15:10PM +0700, Bagas Sanjaya wrote:
> > When building htmldocs on Linus' tree, there are inline emphasis warnings
> > on include/linux/highmem.h:
> >
> > Documentation/vm/highmem:166: ./include/linux/highmem.h:154: WARNING: Inline emphasis start-string without end-string.
> > Documentation/vm/highmem:166: ./include/linux/highmem.h:157: WARNING: Inline emphasis start-string without end-string.
> >
> > These warnings above are due to comments in code example of
> > kmap_atomic() inside kernel-doc comment of *kmap_local_folio() are enclosed
> > by double dash (--) instead of prefixed with C comment symbol (//).
> >
> > Fix these warnings by indenting the code example with literal block
> > indentation and prefixing comments inside the example with C comment
> > symbol.
> >
> > Fixes: 85a85e7601263f ("Documentation/vm: move "Using kmap-atomic" to highmem.h")
> > Cc: Andrew Morton <[email protected]>
> > Cc: Ira Weiny <[email protected]>
>
> Reviewed-by: Ira Weiny <[email protected]>

My bad...

> Tested-by: Ira Weiny <[email protected]>
>
> > Cc: "Matthew Wilcox (Oracle)" <[email protected]>
> > Cc: "Fabio M. De Francesco" <[email protected]>
> > Cc: Sebastian Andrzej Siewior <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > Signed-off-by: Bagas Sanjaya <[email protected]>
> > ---
> > Changes since v1 [1]:
> > - Point that the code example is for kmap_atomic() (suggested by
> > Matthew Wilcox)

As Willy pointed out you did not do this. I was mistaken to believe this
statement.

Ira

> > - Use C comments instead of Unix shell comments prefix (suggested by
> > Ira Weiny)
> >
> > [1]: https://lore.kernel.org/linux-doc/[email protected]/
> >
> > include/linux/highmem.h | 18 +++++++++---------
> > 1 file changed, 9 insertions(+), 9 deletions(-)
> >
> > diff --git a/include/linux/highmem.h b/include/linux/highmem.h
> > index 3af34de54330cb..56d6a019653489 100644
> > --- a/include/linux/highmem.h
> > +++ b/include/linux/highmem.h
> > @@ -149,19 +149,19 @@ static inline void *kmap_local_folio(struct folio *folio, size_t offset);
> > * It is used in atomic context when code wants to access the contents of a
> > * page that might be allocated from high memory (see __GFP_HIGHMEM), for
> > * example a page in the pagecache. The API has two functions, and they
> > - * can be used in a manner similar to the following:
> > + * can be used in a manner similar to the following::
> > *
> > - * -- Find the page of interest. --
> > - * struct page *page = find_get_page(mapping, offset);
> > + * // Find the page of interest.
> > + * struct page *page = find_get_page(mapping, offset);
> > *
> > - * -- Gain access to the contents of that page. --
> > - * void *vaddr = kmap_atomic(page);
> > + * // Gain access to the contents of that page.
> > + * void *vaddr = kmap_atomic(page);
> > *
> > - * -- Do something to the contents of that page. --
> > - * memset(vaddr, 0, PAGE_SIZE);
> > + * // Do something to the contents of that page.
> > + * memset(vaddr, 0, PAGE_SIZE);
> > *
> > - * -- Unmap that page. --
> > - * kunmap_atomic(vaddr);
> > + * // Unmap that page.
> > + * kunmap_atomic(vaddr);
> > *
> > * Note that the kunmap_atomic() call takes the result of the kmap_atomic()
> > * call, not the argument.
> >
> > base-commit: 018ab4fabddd94f1c96f3b59e180691b9e88d5d8
> > --
> > An old man doll... just what I always wanted! - Clara
> >
>

2022-06-15 15:27:23

by Ira Weiny

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

On Wed, Jun 15, 2022 at 05:15:10PM +0700, Bagas Sanjaya wrote:
> When building htmldocs on Linus' tree, there are inline emphasis warnings
> on include/linux/highmem.h:
>
> Documentation/vm/highmem:166: ./include/linux/highmem.h:154: WARNING: Inline emphasis start-string without end-string.
> Documentation/vm/highmem:166: ./include/linux/highmem.h:157: WARNING: Inline emphasis start-string without end-string.
>
> These warnings above are due to comments in code example of
> kmap_atomic() inside kernel-doc comment of *kmap_local_folio() are enclosed
> by double dash (--) instead of prefixed with C comment symbol (//).
>
> Fix these warnings by indenting the code example with literal block
> indentation and prefixing comments inside the example with C comment
> symbol.
>
> Fixes: 85a85e7601263f ("Documentation/vm: move "Using kmap-atomic" to highmem.h")
> Cc: Andrew Morton <[email protected]>
> Cc: Ira Weiny <[email protected]>

Reviewed-by: Ira Weiny <[email protected]>
Tested-by: Ira Weiny <[email protected]>

> Cc: "Matthew Wilcox (Oracle)" <[email protected]>
> Cc: "Fabio M. De Francesco" <[email protected]>
> Cc: Sebastian Andrzej Siewior <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Bagas Sanjaya <[email protected]>
> ---
> Changes since v1 [1]:
> - Point that the code example is for kmap_atomic() (suggested by
> Matthew Wilcox)
> - Use C comments instead of Unix shell comments prefix (suggested by
> Ira Weiny)
>
> [1]: https://lore.kernel.org/linux-doc/[email protected]/
>
> include/linux/highmem.h | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/include/linux/highmem.h b/include/linux/highmem.h
> index 3af34de54330cb..56d6a019653489 100644
> --- a/include/linux/highmem.h
> +++ b/include/linux/highmem.h
> @@ -149,19 +149,19 @@ static inline void *kmap_local_folio(struct folio *folio, size_t offset);
> * It is used in atomic context when code wants to access the contents of a
> * page that might be allocated from high memory (see __GFP_HIGHMEM), for
> * example a page in the pagecache. The API has two functions, and they
> - * can be used in a manner similar to the following:
> + * can be used in a manner similar to the following::
> *
> - * -- Find the page of interest. --
> - * struct page *page = find_get_page(mapping, offset);
> + * // Find the page of interest.
> + * struct page *page = find_get_page(mapping, offset);
> *
> - * -- Gain access to the contents of that page. --
> - * void *vaddr = kmap_atomic(page);
> + * // Gain access to the contents of that page.
> + * void *vaddr = kmap_atomic(page);
> *
> - * -- Do something to the contents of that page. --
> - * memset(vaddr, 0, PAGE_SIZE);
> + * // Do something to the contents of that page.
> + * memset(vaddr, 0, PAGE_SIZE);
> *
> - * -- Unmap that page. --
> - * kunmap_atomic(vaddr);
> + * // Unmap that page.
> + * kunmap_atomic(vaddr);
> *
> * Note that the kunmap_atomic() call takes the result of the kmap_atomic()
> * call, not the argument.
>
> base-commit: 018ab4fabddd94f1c96f3b59e180691b9e88d5d8
> --
> An old man doll... just what I always wanted! - Clara
>

2022-06-16 01:41:29

by Bagas Sanjaya

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

On 6/15/22 21:54, Ira Weiny wrote:
>> Reviewed-by: Ira Weiny <[email protected]>
>
> My bad...
>
>> Tested-by: Ira Weiny <[email protected]>
>>
>>> Cc: "Matthew Wilcox (Oracle)" <[email protected]>
>>> Cc: "Fabio M. De Francesco" <[email protected]>
>>> Cc: Sebastian Andrzej Siewior <[email protected]>
>>> Cc: [email protected]
>>> Cc: [email protected]
>>> Signed-off-by: Bagas Sanjaya <[email protected]>
>>> ---
>>> Changes since v1 [1]:
>>> - Point that the code example is for kmap_atomic() (suggested by
>>> Matthew Wilcox)
>
> As Willy pointed out you did not do this. I was mistaken to believe this
> statement.

My bad too...

I forget editing patch subject. I guess the subject and description could
just say "code example in *kmap_local_folio() comment" somewhere.

Willy, what do you think? Any suggestion?

--
An old man doll... just what I always wanted! - Clara

2022-06-16 01:42:13

by Bagas Sanjaya

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

On 6/16/22 08:31, Bagas Sanjaya wrote:
> My bad too...
>
> I forget editing patch subject. I guess the subject and description could
> just say "code example in *kmap_local_folio() comment" somewhere.
>
> Willy, what do you think? Any suggestion?
>

Ah, I don't see Willy's reply.

--
An old man doll... just what I always wanted! - Clara

2022-06-16 01:44:19

by Bagas Sanjaya

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

On 6/15/22 21:37, Matthew Wilcox wrote:
> On Wed, Jun 15, 2022 at 05:15:10PM +0700, Bagas Sanjaya wrote:
>> These warnings above are due to comments in code example of
>> kmap_atomic() inside kernel-doc comment of *kmap_local_folio() are enclosed
>
> You still seem to think this has something to do with kmap_local_folio().
> It has nothing to do with kmap_local_folio(). Your next version of this
> patch should not mention kmap_local_folio() anywhere.
>

But I think mentioning kmap_local_folio() is necessary in the patch
subject, because we know the original warning is pointed to kernel-doc
comment of that funcion.

--
An old man doll... just what I always wanted! - Clara

2022-06-16 02:38:42

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: highmem: Use literal block for *kmap_local_folio() example

On Thu, Jun 16, 2022 at 08:38:38AM +0700, Bagas Sanjaya wrote:
> On 6/15/22 21:37, Matthew Wilcox wrote:
> > On Wed, Jun 15, 2022 at 05:15:10PM +0700, Bagas Sanjaya wrote:
> >> These warnings above are due to comments in code example of
> >> kmap_atomic() inside kernel-doc comment of *kmap_local_folio() are enclosed
> >
> > You still seem to think this has something to do with kmap_local_folio().
> > It has nothing to do with kmap_local_folio(). Your next version of this
> > patch should not mention kmap_local_folio() anywhere.
> >
>
> But I think mentioning kmap_local_folio() is necessary in the patch
> subject, because we know the original warning is pointed to kernel-doc
> comment of that funcion.

No it doesn't. It just gives a line number. At least, all you quoted
was the line number.