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(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility