[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAE-0n53QBBfX77ibE+NdWZa70VVOKkNnhn5BNhBk04XKEFKNJw@mail.gmail.com>
Date: Tue, 22 Aug 2023 16:14:21 -0700
From: Stephen Boyd <swboyd@...omium.org>
To: Catalin Marinas <catalin.marinas@....com>,
Daniel Thompson <daniel.thompson@...aro.org>,
Douglas Anderson <dianders@...omium.org>,
Marc Zyngier <maz@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Sumit Garg <sumit.garg@...aro.org>,
Will Deacon <will@...nel.org>
Cc: Lecopzer Chen <lecopzer.chen@...iatek.com>,
linux-arm-kernel@...ts.infradead.org,
linux-perf-users@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
kgdb-bugreport@...ts.sourceforge.net, ito-yuichi@...itsu.com,
Thomas Gleixner <tglx@...utronix.de>,
Chen-Yu Tsai <wens@...e.org>, Ard Biesheuvel <ardb@...nel.org>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
Masayoshi Mizuma <msys.mizuma@...il.com>,
Frederic Weisbecker <frederic@...nel.org>,
Guo Ren <guoren@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v10 2/6] arm64: idle: Tag the arm64 idle functions as __cpuidle
Quoting Douglas Anderson (2023-08-22 14:26:57)
> As per the (somewhat recent) comment before the definition of
> `__cpuidle`, the tag is like `noinstr` but also marks a function so it
> can be identified by cpu_in_idle(). Let'a add this.
s/Let'a/Let's/
Maybe also define "this" to be "Let's add these markings to arm64
cpuidle functions".
>
> After doing this then when we dump stack traces of all processors
> using nmi_cpu_backtrace() then instead of getting useless backtraces
> we get things like:
Sorry, this sentence is really hard for me to read. Perhaps:
With this change we get useful backtraces like:
NMI backtrace for cpu N skipped: idling at cpu_do_idle+0x94/0x98
instead of useless backtraces when dumping all processors using
nmi_cpu_backtrace().
>
> NMI backtrace for cpu N skipped: idling at cpu_do_idle+0x94/0x98
>
> NOTE: this patch won't make cpu_in_idle() work perfectly for arm64,
> but it doesn't hurt and does catch some cases. Specifically an example
> that wasn't caught in my testing looked like this:
I wonder if it improves locality of cpu idle code as well by moving the
functions to the idle text section so any branch targets are closer.
>
> gic_cpu_sys_reg_init+0x1f8/0x314
> gic_cpu_pm_notifier+0x40/0x78
> raw_notifier_call_chain+0x5c/0x134
> cpu_pm_notify+0x38/0x64
> cpu_pm_exit+0x20/0x2c
> psci_enter_idle_state+0x48/0x70
> cpuidle_enter_state+0xb8/0x260
> cpuidle_enter+0x44/0x5c
> do_idle+0x188/0x30c
>
> Acked-by: Mark Rutland <mark.rutland@....com>
> Signed-off-by: Douglas Anderson <dianders@...omium.org>
Reviewed-by: Stephen Boyd <swboyd@...omium.org>
Powered by blists - more mailing lists