[Crash-utility] non CONFIG_SMP support was: Re[2]: ARM support for CONFIG_SPAR

Dave Anderson anderson at redhat.com
Mon Jun 27 15:01:41 UTC 2011



----- Original Message -----
> Dave,
>
> Toshi's patch works fine for me.
>
> Apart from this, runq command does not work against my vmcore(non-SMP).
> 
> runq fails with the following message. 
> I am afraid it might be another CONFIG_SMP related issue.
> 
> crash> set debug 10
> debug: 10
> crash> runq
> runq: per_cpu_symbol_search(per_cpu__runqueues): NULL
> runq: per-cpu runqueues does not exist
> crash> 
>
> Takuo

Hi Takuo,

With respect to the "runq" command, I tried this patch on my only 
UP ARM sample dumpfile:

--- task.c.orig 2011-06-27 10:33:51.000000000 -0400
+++ task.c      2011-06-27 10:47:13.000000000 -0400
@@ -6970,8 +6970,13 @@
                         "prio");
        }
 
-       if (!(rq_sp = per_cpu_symbol_search("per_cpu__runqueues")))
-               error(FATAL, "per-cpu runqueues does not exist\n");
+       if (!(rq_sp = per_cpu_symbol_search("per_cpu__runqueues"))) {
+               if (!(kt->flags & SMP) && !(kt->flags & PER_CPU_OFF)) {
+                       if (!(rq_sp = symbol_search("runqueues")))
+                               error(FATAL, "runqueues does not exist\n");
+               } else
+                       error(FATAL, "per-cpu runqueues does not exist\n");
+       }
 
         runqbuf = GETBUF(SIZE(runqueue));
        if ((init_sp = per_cpu_symbol_search("per_cpu__init_cfs_rq")))

and it shows:

  crash> runq
  CPU 0 RUNQUEUE: c0396c78
    CURRENT: PID: 0      TASK: c0388ee0  COMMAND: "swapper"
    RT PRIO_ARRAY: c0396d28
       [no tasks queued]
    CFS RB_ROOT: c0396d00
       [no tasks queued]
  crash> 

but a true test would have something other than an idle state with no
other tasks queued.

And the "timer" command will definitely require a bit more work.

Dave




More information about the Crash-utility mailing list