Rachita Kothiyal wrote:
> Rachita Kothiyal wrote:
>
> This happens in get_idle_threads() when perusing the runqueues array,
> where each per-cpu runqueue data structure contains a pointer to the
> idle (swapper) task for that CPU. Now, this process requires that the
> per-cpu address manipulations are working correctly in order to find the
> each cpu's runqueue data structure. It looks like the ppc64 change
> for per-cpu data accesses is suspect here:
>
> > Fix to recognize post-2.6.15 ppc64 kernels moving the per_cpu_offsets
> > to the "paca" structure. Without this patch, crash fails with the
> > following error messages: "crash: cannot determine idle task addresses
> > from init_tasks[] or runqueues[]" and "crash: cannot resolve
> > init_task_union". (pbadari(a)us.ibm.com)
>
Right, but I thought this patch fixed this problem.
(I am using crash-4.0-2.21, and it includes this patch)
Right -- me too... ;-)
> >
> > But I was able to run it ok on a live system.
> >
>
> Same kernel? I have no idea why there would be a difference
> between live and vmcore.
Yes, same kernel (2.6.16-rc4)
I'm sure Badari can give you more information, but you might start
by putting some debug printf's in his new ppc64_paca_init() function
to see whether it's calculating the same kt->__per_cpu_offset[cpu]
values on a live system vs. its associated vmcore?
Dave