[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