All of lore.kernel.org
 help / color / mirror / Atom feed
From: Minchan Kim <minchan@kernel.org>
To: vjitta@codeaurora.org
Cc: glider@google.com, akpm@linux-foundation.org,
	dan.j.williams@intel.com, broonie@kernel.org,
	mhiramat@kernel.org, linux-kernel@vger.kernel.org,
	ylal@codeaurora.org, vinmenon@codeaurora.org
Subject: Re: [PATCH v5 2/2] lib: stackdepot: Add support to disable stack depot
Date: Thu, 21 Jan 2021 16:25:40 -0800	[thread overview]
Message-ID: <YAobhDFEJKa26OwH@google.com> (raw)
In-Reply-To: <1610963802-11042-2-git-send-email-vjitta@codeaurora.org>

On Mon, Jan 18, 2021 at 03:26:42PM +0530, vjitta@codeaurora.org wrote:
> From: Vijayanand Jitta <vjitta@codeaurora.org>
> 
> Add a kernel parameter stack_depot_disable to disable
> stack depot. So that stack hash table doesn't consume
> any memory when stack depot is disabled.

The usecase is CONFIG_PAGE_OWNER without page_owner=on.
Without this patch, stackdepot will consume the memory
for the hashtable. By default, it's 8M which is never trivial.

With this option, in CONFIG_PAGE_OWNER configured system,
page_owner=off, stack_depot_disable in kernel command line,
we could save the wasted memory for the hashtable.

> 
> Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
> Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>

Please also update kernel-parameters.txt.

> ---
>  include/linux/stackdepot.h |  1 +
>  init/main.c                |  2 ++
>  lib/stackdepot.c           | 33 +++++++++++++++++++++++++++++----
>  3 files changed, 32 insertions(+), 4 deletions(-)
> 
> diff --git a/include/linux/stackdepot.h b/include/linux/stackdepot.h
> index 24d49c7..eafd9aa 100644
> --- a/include/linux/stackdepot.h
> +++ b/include/linux/stackdepot.h
> @@ -21,4 +21,5 @@ unsigned int stack_depot_fetch(depot_stack_handle_t handle,
>  
>  unsigned int filter_irq_stacks(unsigned long *entries, unsigned int nr_entries);
>  
> +int stack_depot_init(void);
>  #endif
> diff --git a/init/main.c b/init/main.c
> index 32b2a8a..8fcf9bb 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -98,6 +98,7 @@
>  #include <linux/mem_encrypt.h>
>  #include <linux/kcsan.h>
>  #include <linux/init_syscalls.h>
> +#include <linux/stackdepot.h>
>  
>  #include <asm/io.h>
>  #include <asm/bugs.h>
> @@ -827,6 +828,7 @@ static void __init mm_init(void)
>  	page_ext_init_flatmem();
>  	init_debug_pagealloc();
>  	report_meminit();
> +	stack_depot_init();
>  	mem_init();
>  	kmem_cache_init();
>  	kmemleak_init();
> diff --git a/lib/stackdepot.c b/lib/stackdepot.c
> index dff8521..d20e6fd 100644
> --- a/lib/stackdepot.c
> +++ b/lib/stackdepot.c
> @@ -31,6 +31,8 @@
>  #include <linux/stackdepot.h>
>  #include <linux/string.h>
>  #include <linux/types.h>
> +#include <linux/vmalloc.h>

Why do we need vmalloc?

Otherwise, looks good to me.
Thank you!

  reply	other threads:[~2021-01-22  0:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-18  9:56 [PATCH v5 1/2] lib: stackdepot: Add support to configure STACK_HASH_SIZE vjitta
2021-01-18  9:56 ` [PATCH v5 2/2] lib: stackdepot: Add support to disable stack depot vjitta
2021-01-22  0:25   ` Minchan Kim [this message]
2021-01-22  4:03     ` Vijayanand Jitta
2021-01-18 22:53 ` [PATCH v5 1/2] lib: stackdepot: Add support to configure STACK_HASH_SIZE Randy Dunlap
2021-01-18 22:53   ` Randy Dunlap
2021-01-19  6:52   ` Vijayanand Jitta
2021-01-19  6:52     ` Vijayanand Jitta
2021-01-19  6:54     ` Randy Dunlap
2021-01-19  6:54       ` Randy Dunlap
2021-01-22  8:54   ` Alexander Potapenko
2021-01-22  8:54     ` Alexander Potapenko
2021-01-22  0:19 ` Minchan Kim
2021-01-22  4:00   ` Vijayanand Jitta
2021-01-22  8:48 ` Alexander Potapenko

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=YAobhDFEJKa26OwH@google.com \
    --to=minchan@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=broonie@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=glider@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=vinmenon@codeaurora.org \
    --cc=vjitta@codeaurora.org \
    --cc=ylal@codeaurora.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.