Re: [PATCH v8 07/10] kgdb: Expose default CPUs roundup fallback mechanism

From: Daniel Thompson
Date: Fri May 12 2023 - 09:49:05 EST


On Wed, Apr 19, 2023 at 03:56:01PM -0700, Douglas Anderson wrote:
> From: Sumit Garg <sumit.garg@xxxxxxxxxx>
>
> Add a new API kgdb_smp_call_nmi_hook() to expose default CPUs roundup
> mechanism to a particular archichecture as a runtime fallback if it
> detects to not support NMI roundup.
>
> Currently such an architecture example is arm64 supporting pseudo NMIs
> feature which is only available on platforms which have support for GICv3
> or later version.
>
> Signed-off-by: Sumit Garg <sumit.garg@xxxxxxxxxx>
> Tested-by: Chen-Yu Tsai <wens@xxxxxxxx>
> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> ---
>
> (no changes since v1)
>
> include/linux/kgdb.h | 12 ++++++++++++
> kernel/debug/debug_core.c | 8 +++++++-
> 2 files changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h
> index 258cdde8d356..87713bd390f3 100644
> --- a/include/linux/kgdb.h
> +++ b/include/linux/kgdb.h
> @@ -199,6 +199,18 @@ kgdb_arch_handle_qxfer_pkt(char *remcom_in_buffer,
>
> extern void kgdb_call_nmi_hook(void *ignored);
>
> +/**
> + * kgdb_smp_call_nmi_hook - Provide default fallback mechanism to
> + * round-up CPUs
> + *
> + * If you're using the default implementation of kgdb_roundup_cpus()
> + * this function will be called. And if an arch detects at runtime to
> + * not support NMI based roundup then it can fallback to default
> + * mechanism using this API.
> + */
> +
> +extern void kgdb_smp_call_nmi_hook(void);

Concept looks sensible but this is a terrible name for aa command to
round up the CPUs using smp_call... functions. Whilst it is true it that
kgdb_roundup_cpus() does use kgdb_call_nmi_hook() internally that
doesn't mean we should name functions after it. They should be named
after what they are do, not how they do it.

Something more like kgdb_roundup_cpus_with_smp_call() would be a much
better name.


Daniel.