Re: [PATCH 3/3] irqchip/gic-v3-its: Print the vPE table installed in redistributor

From: Marc Zyngier
Date: Sat Feb 24 2024 - 06:31:18 EST


On Sat, 24 Feb 2024 11:11:41 +0000,
Oliver Upton <oliver.upton@xxxxxxxxx> wrote:
>
> On Sat, Feb 24, 2024 at 10:41:36AM +0000, Marc Zyngier wrote:
> > On Mon, 19 Feb 2024 18:58:08 +0000, Oliver Upton <oliver.upton@xxxxxxxxx> wrote:
> > > - pr_debug("CPU%d: VPROPBASER = %llx %*pbl\n",
> > > - smp_processor_id(), val,
> > > - cpumask_pr_args(gic_data_rdist()->vpe_table_mask));
> > > + pr_info("CPU%d: Using %s vPE table @%llx (%s)\n",
> > > + smp_processor_id(),
> > > + (val & GICR_VPROPBASER_4_1_INDIRECT) ? "indirect" : "direct",
> > > + val & GICR_VPROPBASER_4_1_ADDR,
> > > + (page) ? "allocated" :
> > > + ((from_its) ? "inherited from ITS" : "inherited from RD"));
> >
> > From past experience, having the vpe_table_mask value displayed did
> > help tracking VPE table affinity bugs.
>
> My reasoning behind it was that the change expanded the table mask by
> way of printing what's going on at every RD. But easy enough to throw
> back in!

Yeah, true enough. But the mask presents a nice, concise way to
express the affinities that comparing a bunch of lines doesn't exactly
convey.

>
> > This said, my problem with this patch is that we already have tons of
> > these statement printed once per CPU/RD. This is really huge and
> > accounts for a significant part of the boot time on large machines
> > (64+ CPUs).
> >
> > Before we add more of those, I'd really want to have a way to tone
> > them down and only print them at runtime *if* required by the user.
> > Kind of a dymanic debug, but driven from the command-line and present
> > early enough.
>
> Yeah, what'd be really nice is a way to enable pr_debug() on a per
> file / driver / whatever basis, since turning on all of it becomes a bit
> of a firehose... But I guess that's what grep is for.
>
> WDYT about leaving it at pr_debug() for now, with the additional context
> of what exactly VPROPBASE is getting programmend with?

Yup, I'm all for that. Hopefully we can find a good way to way to
control the debug output in the near future.

Thanks,

M.

--
Without deviation from the norm, progress is not possible.