Re: [PATCH v5 1/2] lib: stackdepot: Add support to configure STACK_HASH_SIZE

From: Alexander Potapenko
Date: Fri Jan 22 2021 - 03:56:39 EST


On Mon, Jan 18, 2021 at 11:54 PM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> On 1/18/21 1:56 AM, vjitta@xxxxxxxxxxxxxx wrote:
> > From: Yogesh Lal <ylal@xxxxxxxxxxxxxx>
> >
> > Use CONFIG_STACK_HASH_ORDER to configure STACK_HASH_SIZE.
> >
> > Aim is to have configurable value for STACK_HASH_SIZE,
> > so depend on use case one can configure it.
> >
> > One example is of Page Owner, default value of
> > STACK_HASH_SIZE lead stack depot to consume 8MB of static memory.
> > Making it configurable and use lower value helps to enable features like
> > CONFIG_PAGE_OWNER without any significant overhead.
> >
> > Signed-off-by: Yogesh Lal <ylal@xxxxxxxxxxxxxx>
> > Signed-off-by: Vinayak Menon <vinmenon@xxxxxxxxxxxxxx>
> > Signed-off-by: Vijayanand Jitta <vjitta@xxxxxxxxxxxxxx>
>
> Hi,
>
> Did you see
> https://lore.kernel.org/lkml/202101050729.cwTd47Yw-lkp@xxxxxxxxx/
>
> It seems that arch/arc/ does not have:
> arc-elf-ld: lib/stackdepot.o: in function `filter_irq_stacks':
> (.text+0x6): undefined reference to `__irqentry_text_start'
> >> arc-elf-ld: (.text+0x6): undefined reference to `__irqentry_text_start'
> >> arc-elf-ld: (.text+0x26): undefined reference to `__irqentry_text_end'
> >> arc-elf-ld: (.text+0x26): undefined reference to `__irqentry_text_end'
> >> arc-elf-ld: (.text+0x34): undefined reference to `__softirqentry_text_start'
> >> arc-elf-ld: (.text+0x34): undefined reference to `__softirqentry_text_start'
> >> arc-elf-ld: (.text+0x3c): undefined reference to `__softirqentry_text_end'
> >> arc-elf-ld: (.text+0x3c): undefined reference to `__softirqentry_text_end'
>
Hi Randy,

Could you try out the following patch?

Thanks,
Alex

diff --git a/arch/arc/kernel/vmlinux.lds.S b/arch/arc/kernel/vmlinux.lds.S
index 33ce59d91461..94d3f9620d0b 100644
--- a/arch/arc/kernel/vmlinux.lds.S
+++ b/arch/arc/kernel/vmlinux.lds.S
@@ -83,6 +83,8 @@ SECTIONS

.text : {
_text = .;
+ IRQENTRY_TEXT
+ SOFTIRQENTRY_TEXT
TEXT_TEXT
SCHED_TEXT
CPUIDLE_TEXT