ptov offset:cpuspec can be used to translate per-cpu offset to kernel
virtual address. This patch will hide data of offline cpu.

The original output is like below:
<cut>
crash> ptov bfa0:a
PER-CPU OFFSET: bfa0
  CPU    VIRTUAL
  [0]  ffff88003fc0bfa0
  [1]  ffff88003fc8bfa0
  [2]  ffff88003fd0bfa0
  [3]  ffff88003fd8bfa0
<cut>

With data of offline cpu(cpu #2) hiden, the output is like below:
<cut>
crash> ptov bfa0:a
PER-CPU OFFSET: bfa0
  CPU    VIRTUAL
  [0]  ffff88003fc0bfa0
  [1]  ffff88003fc8bfa0
  [2]  <OFFLINE>
  [3]  ffff88003fd8bfa0
<cut>

Signed-off-by: Qiao Nuohan <[email protected]>
---
 memory.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/memory.c b/memory.c
index 518c917..fbbd01d 100755
--- a/memory.c
+++ b/memory.c
@@ -3192,9 +3192,13 @@ cmd_ptov(void)
                                        continue;
                                vaddr = paddr + kt->__per_cpu_offset[c];
                                sprintf(buf1, "[%d]", c);
-                               fprintf(fp, "  %s%lx\n", 
-                                       mkstring(buf2, len, LJUST, buf1),
-                                       vaddr);
+
+                               fprintf(fp, "  %s",
+                                       mkstring(buf2, len, LJUST, buf1));
+                               if (hide_offline_cpu(c))
+                                       fprintf(fp, "<OFFLINE>\n");
+                               else
+                                       fprintf(fp, "%lx\n", vaddr);
                        }
                        FREEBUF(cpus);
                } else {
-- 
1.8.5.3

--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to