----- Original Message -----
> For those who don't care about the removed cpu, data of offline cpu is
> bothering. This patchset is trying to hide data of offline cpu. Please
> check each patch to see what is hiden.
>
> The last version is here:
> https://www.redhat.com/archives/crash-utility/2014-September/msg00000.html
>
> Changelog:
> v1->v2:
> 1. patch 1: add environment variable and its argument to hide/show
> data of offline cpu.
> 2. add description of environment variable to crash.8
> 3. remove the restrict of x86_64
> 4. add "<OFFLINE>" to indicate those hiden data.
> 5. patch 22/23: addd "<OFFLINE>" to indicate idle task on offline
> cpu
>
> Qiao Nuohan (25):
> add a flag to display/hide data of offline cpus
> add an API to check whether to hide a cpus' data
> x86_64: modify help -m/-M to hide offline cpus' data
> x86_64: modify bt -E to hide offline cpus' data
> x86_64: modify mach to hide offline cpus' data
> x86_64: modify mach -c to hide offline cpus' data
> modify help -r to hide offline cpus' registers
> modify bt -c to hide offline cpus' data
> modify display_sys_stats() to hide cpus' number
> modify help -k to hide offline cpus' number
> modify set -c to hide offline cpu
> modify irq -s to hide offline cpus' data
> modify irq -a to hide offline cpus' data
> modify timer -r to hide offline cpus' data
> modify timer to hide offline cpus' data
> modify ptov offset:cpuspec to hide offline cpus' data
> fix max_cpudata_limit() when offlined cpu exists
> modify kmem -o to hide offline cpus' data
> modify kmem -S(SLUB) to hide offline cpus' data
> modify struct/union/* [:cpuspec] to hide offline cpus' data
> modify command p to hide offline cpus' data
> modify ps to indicate idle task on offline cpu
> modify print_task_header() to indicate idle task on offline cpu
> modify ps -l/-m -C cpu to hide offline cpus' data
> modify runq to hide offline cpus' data
>
> crash.8 | 4 +++
> defs.h | 3 ++
> diskdump.c | 6 +++-
> help.c | 6 ++++
> kernel.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++----
> main.c | 15 +++++++++-
> memory.c | 30 +++++++++++++++----
> netdump.c | 25 ++++++++++++++--
> symbols.c | 15 +++++++++-
> task.c | 97
> ++++++++++++++++++++++++++++++++++++++++++++++++++++----------
> tools.c | 15 ++++++++++
> x86_64.c | 74 +++++++++++++++++++++++++++++++++++++++--------
> 12 files changed, 331 insertions(+), 42 deletions(-)
>
> --
> 1.8.5.3
Hello Qiao,
In the future, can you please post the patches as attachments?
Unfortunately my Zimbra email web interface replace tabs with spaces,
so I have to manually cut-and-paste each patch from the crash-utility
mailing list archives.
I have a problem with a number of the patches, some of which
I have NAK'd completely, and others I would suggest changing
the output slightly.
As I recall, one of your arguments for doing this is to avoid
verbose display of offline cpu data. But in a few of your
patches, it simply replaces a one-line per-cpu piece of data
with the <OFFLINE> string. To me it makes more sense to
continue to display the data with an "[OFFLINE]" tag appended
to the end of the output line.
Also, I had asked that there be *no* behavioral changes
unless the "offline" environment variable was set to "hide".
But there are a few patches that change things regardless of
the setting. So for the most part, if any of the individual
patches do *not* use your hide_offline_cpu() function, then
it's highly likely that it has been NAK'd.
Lastly, can you make your output show "[OFFLINE]" instead
of "<OFFLINE>"? I'd prefer to keep the usage of "[ brackets ]"
as "informational" in nature, whereas "< braces >" are typically
used to surround symbol names.
Here are the patches that I have NAK'd or would like changed:
[PATCH v2 03/25] x86_64: modify help -m/-M to hide offline cpus' data
NAK. This patch makes no sense to me. It's a debug command that
shows the contents of the crash-internal machdep and machine_specific
data structures. What possible benefit would there be to hide the
legitimate addresses/contents? Please leave them as they are.
[PATCH v2 05/25] x86_64: modify mach to hide offline cpus' data
Please continue to display the stack addresses, but *followed by*
"[OFFLINE]".
[PATCH v2 09/25] modify display_sys_stats() to hide cpus' number
Here you are changing crash behavior regardless of the "offline"
setting. While it is true that you are now mimicking the PPC64
behaviour, that is because I typically allow IBM to do their own
thing with respect to the PPC64 (and S390/S390X) architectures.
What I would suggest you do is this: for all architectures except
PPC64, continue to show kt->cpus, but append the number of offlined
cpus after it, i.e., something like this:
KERNEL: ../kdump/vmlinux
DUMPFILE: ../kdump/vmcore [PARTIAL DUMP]
CPUS: 4 [1 OFFLINE]
DATE: Tue Sep 23 14:54:26 2014
UPTIME: 00:02:45
[PATCH v2 10/25] modify help -k to hide offline cpus' number
NAK. "help -k" is a debug option whose purpose is to dump the
contents of the crash-internal kernel_table; accordingly, the
"cpus" output should show the contents of the kt->cpus member
regardless whether there are offline cpus.
[PATCH v2 13/25] modify irq -a to hide offline cpus' data
NAK. This command essentially shows the contents of a
cpu mask in a kernel data structure -- regardless whether
the cpu is offline.
[PATCH v2 16/25] modify ptov offset:cpuspec to hide offline cpus' data
There is no reason to *not* show the per-cpu VIRTUAL address, and
you're not saving any space. Instead please show the virtual address
*followed by* "[OFFLINE]".
[PATCH v2 18/25] modify kmem -o to hide offline cpus' data
There is no reason to *not* show the per-cpu OFFSET values, and
you're not saving any space. Instead please show the offset value
*followed by* "[OFFLINE]".
[PATCH v2 22/25] modify ps to indicate idle task on offline cpu
NAK. This patch changes behavior regardless of the "offline" setting.
The swapper task *does* exist, and it actually is the active task on
that (offline) cpu. Plus you're doing it only for the active task
on the offline cpu -- but there would still be several other kernel
tasks shown for that cpu even when it is offline.
[PATCH v2 23/25] modify print_task_header() to indicate idle task on offline cpu
NAK. This patches changes behavior regardless of the "offline" setting.
The print_task_header() function is called by 53 different functions, and
I'm not going to even bother checking each one for relevancy.
Thanks,
Dave
--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility