----- 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 Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility