[Crash-utility] [PATCH v2] kmem: Add support to -S option to specify a range of CPU-specific slab data
HAGIO KAZUHITO(萩尾 一仁)
k-hagio-ab at nec.com
Mon Jul 19 02:01:27 UTC 2021
-----Original Message-----
>
> On Fri 2021-07-16 07:32 +0000, HAGIO KAZUHITO(萩尾 一仁) wrote:
>
> Kazu,
>
> > Thanks for the update.
>
> No problem.
>
> > > + for (i = 0; i < kt->cpus; i++)
> > > + if (NUM_IN_BITMAP(cpus, i) && check_offline_cpu(i))
> > > + error(INFO, "CPU %d is OFFLINE.\n", i);
> >
> > With the offline hide option, "CPU xx [OFFLINE]" is shown as follows and
> > this error message is not needed.
> >
> > crash> set offline hide
> > offline: hide
> > crash> kmem -S=15 TCP
> > kmem: CPU 15 is OFFLINE.
> > CACHE OBJSIZE ALLOCATED TOTAL SLABS SSIZE NAME
> > ffff916f6798b2c0 2440 17 208 16 32k TCP
> > CPU 15 [OFFLINE]
> > ...
>
> The above was indeed intentional (to be more verbose) since the CPU(s)
> is/are explicitly specified by the user.
I see. I think that it's good to have a way to know which CPUs are
offline without the offline hide option by another patch, as crash
shows only the number of offline CPUs when startup.
display_sys_stats() might be a good place to do something about it,
a simple example:
# crash
...
DUMPFILE: /proc/kcore
CPUS: 16 [OFFLINE: 2 (CPU: 14,15)]
--- a/kernel.c
+++ b/kernel.c
@@ -5627,9 +5627,22 @@ display_sys_stats(void)
fprintf(fp, " CPUS: %d\n", get_cpus_to_display());
else {
fprintf(fp, " CPUS: %d", kt->cpus);
- if (kt->cpus - get_cpus_to_display())
- fprintf(fp, " [OFFLINE: %d]",
- kt->cpus - get_cpus_to_display());
+ if (kt->cpus - get_cpus_to_display()) {
+ int i;
+ char *p = buf;
+ BZERO(buf, BUFSIZE);
+ for (i = 0; i < kt->cpus; i++) {
+ if (check_offline_cpu(i)) {
+ if (p == buf)
+ sprintf(p, "%d", i);
+ else
+ sprintf(p, ",%d", i);
+ p += strlen(p);
+ }
+ }
+ fprintf(fp, " [OFFLINE: %d (CPU: %s)]",
+ kt->cpus - get_cpus_to_display(), buf);
+ }
fprintf(fp, "\n");
}
Thanks,
Kazu
>
> > And the other commands do not say anything by default (offline show),
> > it should be the same behavior with them.
>
> Fair enough. Better to remain consistent.
>
> > So with removing the for block above, (but you don't need to repost)
> > Acked-by: Kazuhito Hagio <k-hagio-ab at nec.com>
>
> Understood and thank you.
>
>
>
>
>
> Kind regards,
>
> --
> Aaron Tomlin
More information about the Crash-utility
mailing list