2019-03-30 17:26:03

by Joe Perches

[permalink] [raw]
Subject: [PATCH] coding-style.rst: Generic alloc functions do not need OOM logging

Generic allocation functions already emit a dump_stack()
so additional error logging isn't useful.

Document it as such and add a reference to the allocation
API.

Signed-off-by: Joe Perches <[email protected]>
---
Documentation/process/coding-style.rst | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst
index 8ea913e99fa1..fa864a51e6ea 100644
--- a/Documentation/process/coding-style.rst
+++ b/Documentation/process/coding-style.rst
@@ -843,7 +843,8 @@ used.
The kernel provides the following general purpose memory allocators:
kmalloc(), kzalloc(), kmalloc_array(), kcalloc(), vmalloc(), and
vzalloc(). Please refer to the API documentation for further information
-about them.
+about them. :ref:`Documentation/core-api/memory-allocation.rst
+<memory_allocation>`

The preferred form for passing a size of a struct is the following:

@@ -874,6 +875,9 @@ The preferred form for allocating a zeroed array is the following:
Both forms check for overflow on the allocation size n * sizeof(...),
and return NULL if that occurred.

+These generic allocation functions all emit a stack dump on failure when used
+without __GFP_NOWARN so there is no use in emitting an additional failure
+message when NULL is returned.

15) The inline disease
----------------------



2019-04-01 21:02:57

by Jonathan Corbet

[permalink] [raw]
Subject: Re: [PATCH] coding-style.rst: Generic alloc functions do not need OOM logging

On Sat, 30 Mar 2019 10:25:03 -0700
Joe Perches <[email protected]> wrote:

> Generic allocation functions already emit a dump_stack()
> so additional error logging isn't useful.
>
> Document it as such and add a reference to the allocation
> API.
>
> Signed-off-by: Joe Perches <[email protected]>

Applied, thanks.

jon

2019-04-01 21:13:43

by Nick Crews

[permalink] [raw]
Subject: Re: [PATCH] coding-style.rst: Generic alloc functions do not need OOM logging

Thanks Joe, this is a great detail to add.

On Sat, Mar 30, 2019 at 11:25 AM Joe Perches <[email protected]> wrote:
>
> Generic allocation functions already emit a dump_stack()
> so additional error logging isn't useful.
>
> Document it as such and add a reference to the allocation
> API.
>
> Signed-off-by: Joe Perches <[email protected]>
> ---
> Documentation/process/coding-style.rst | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst
> index 8ea913e99fa1..fa864a51e6ea 100644
> --- a/Documentation/process/coding-style.rst
> +++ b/Documentation/process/coding-style.rst
> @@ -843,7 +843,8 @@ used.
> The kernel provides the following general purpose memory allocators:
> kmalloc(), kzalloc(), kmalloc_array(), kcalloc(), vmalloc(), and
> vzalloc(). Please refer to the API documentation for further information
> -about them.
> +about them. :ref:`Documentation/core-api/memory-allocation.rst
> +<memory_allocation>`
>
> The preferred form for passing a size of a struct is the following:
>
> @@ -874,6 +875,9 @@ The preferred form for allocating a zeroed array is the following:
> Both forms check for overflow on the allocation size n * sizeof(...),
> and return NULL if that occurred.
>
> +These generic allocation functions all emit a stack dump on failure when used
> +without __GFP_NOWARN so there is no use in emitting an additional failure
> +message when NULL is returned.
>
> 15) The inline disease
> ----------------------
>

Acked-by: Nick Crews <[email protected]>