[Crash-utility] Re: Re: Re: crash and sles 9 dumps (Dave Anderson)
Dave Anderson
anderson at redhat.com
Mon Sep 10 17:12:53 UTC 2007
Daniel Li wrote:
> Dave Anderson wrote:
>
>> Daniel Li wrote:
>>
>>> It seems the problem is not one with guest dump, but the version of
>>> SLES.
>>>
>>> After upgrading my NATIVE SLES 9 system to SP 3, exactly the same
>>> problem happened while trying to use 'crash' on the live system, with
>>> a debug linux kernel ('vmlinux.dbg' below) built on the same system
>>> from matching 'kernel-source' package. (During this upgrade, the
>>> linux kernel changed from 2.6.5-7.97-smp to 2.6.5-7.244-smp, the same
>>> as that on the guest.)
>>>
>>> Has anyone else seen this?
>>
>>
>> Did anything change in the task_struct between 2.6.5-7.97-smp and
>> 2.6.5-7.244-smp?
>>
>> Or, more likely, anything associated with the pidhash/pid_hash-related
>> code in the kernel?
>>
>> Is the output of the crash command "help -t | grep refresh_task_table"
>> different when running against 2.6.5-7.97-smp vs. 2.6.5-7.244-smp?
>>
>> Dave
>>
> The definition of task_struct between 2.6.5-7.97-smp and 2.6.5-7.244-smp
> did change. There is one new 8-bytes field called 'last_ran' before the
> list_head for tasks. This is what I don't get: why should it matter as
> long as the dump and debug kernel are using the same definition?
>
It shouldn't.
Does the output of "help -o task_struct" on the .97 vs the .244 kernels
reflect the member offset differences as you would expect? I.e., everything
(that's not -1) coming after the new last_ran member is bumped up by 8?
And are you sure there's nothing different w/respect to the pid_hash
declarations/usage?
Dave
> The output of "help -t | grep refresh_task_table" didn't change.
>
> Later,
> Daniel
>
> struct task_struct {
> volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
> struct thread_info *thread_info;
> atomic_t usage;
> unsigned long flags; /* per process flags, defined below */
> unsigned long ptrace;
>
> int lock_depth; /* Lock depth */
>
> int prio, static_prio;
> struct list_head run_list;
> prio_array_t *array;
>
> unsigned long sleep_avg;
> long interactive_credit;
> unsigned long long timestamp, last_ran;
> int activated;
>
> unsigned long policy;
> cpumask_t cpus_allowed;
> unsigned int time_slice, first_time_slice;
>
> struct list_head tasks;
> struct list_head ptrace_children;
> struct list_head ptrace_list;
> ...
>
>
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
More information about the Crash-utility
mailing list